【发布时间】:2018-01-14 20:37:33
【问题描述】:
CodenameOne 的 Capture.capturePhoto(1000, -1) 似乎与 Android targetSDKVersion 21 权限配合良好。但在 23 日,它错误地请求了一个
允许 [...] 访问您设备上的照片媒体和文件吗?
来自用户的许可,但由于缺少android.permission.CAMERA 而失败。
(没有摄像头的模拟器会请求媒体文件 - 会不会有什么混淆?)
更新(DDMS 输出)
08-09 15:13:47.866: W/ActivityManager(1676): Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x4000003 cmp=com.sec.android.app.camera/.Camera clip={text/uri-list U:file:///storage/emulated/0/Pictures/XXX/IMG_20170809_151347.jpg} (has extras) } from ProcessRecord{f736f3f 20079:com.XXX/u0a338} (pid=20079, uid=10338) with revoked permission android.permission.CAMERA
08-09 15:13:47.876: W/System.err(20079): java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x4000003 cmp=com.sec.android.app.camera/.Camera clip={text/uri-list U:file:///storage/emulated/0/Pictures/XXX/IMG_20170809_151347.jpg} (has extras) } from ProcessRecord{f736f3f 20079:com.XXX/u0a338} (pid=20079, uid=10338) with revoked permission android.permission.CAMERA
08-09 15:13:47.896: E/ConfigFileUtils(3071): Failed to read config file: /data/data/com.google.android.gms/app_chimera/current_modulesets.pb: open failed: ENOENT (No such file or directory)
08-09 15:13:47.906: W/System.err(20079): at android.os.Parcel.readException(Parcel.java:1620)
08-09 15:13:47.906: W/System.err(20079): at android.os.Parcel.readException(Parcel.java:1573)
08-09 15:13:47.906: W/System.err(20079): at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3131)
08-09 15:13:47.906: W/System.err(20079): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1540)
08-09 15:13:47.906: W/System.err(20079): at android.app.Activity.startActivityForResult(Activity.java:4283)
08-09 15:13:47.906: W/System.err(20079): at android.app.Activity.startActivityForResult(Activity.java:4230)
08-09 15:13:47.906: W/System.err(20079): at com.codename1.impl.android.CodenameOneActivity.startActivityForResult(CodenameOneActivity.java:576)
08-09 15:13:47.906: W/System.err(20079): at com.codename1.impl.android.c.a(AndroidImplementation.java:5869)
08-09 15:13:47.906: W/System.err(20079): at com.codename1.u.p.b(Display.java:3109)
08-09 15:13:47.906: W/System.err(20079): at com.codename1.b.a.a(Capture.java:77)
08-09 15:13:47.906: W/System.err(20079): at com.codename1.b.a.a(Capture.java:125)
08-09 15:13:47.906: W/System.err(20079): at com.grandgreat.XXX.ai.b(SettingsForm.java:98)
(SettingsForm.java:98 String path = Capture.capturePhoto(1000, -1);)
【问题讨论】:
-
我建议提供您遇到的失败,例如堆栈跟踪 DDMS 输出等。
-
我怀疑这个老问题与最近的问题有关:github.com/codenameone/CodenameOne/issues/2409
标签: codenameone