【问题标题】:Android Permission denial WeirdAndroid权限拒绝奇怪
【发布时间】:2011-04-18 16:55:37
【问题描述】:

我正在做一个推特应用程序(是的,另一个......)并在选择相机拍照时上传图片,相机打开但抛出异常,所以我无法处理拍照。

此错误发生在 Sony Ericsson Xperia SO-01B 固件 2.1 update1 上。

代码:

SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS"); 
String filenameTimestamp = timeStampFormat.format(new Date()); 
ContentValues values = new ContentValues(); 
values.put(Media.TITLE, String.format("worldTwitter_%s.jpg", filenameTimestamp));
//values.put(Media.TITLE, String.format("uno.jpg", filenameTimestamp));
values.put(Media.DESCRIPTION, getString(R.string.image_posted_from_o_tweet));
photoUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE, null);
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(intent, REQUEST_CHOOSE_PHOTO_CAMERA);

错误:

04-19 01:28:34.597: ERROR/DatabaseUtils(1595): Writing exception to parcel
04-19 01:28:34.597: ERROR/DatabaseUtils(1595): java.lang.SecurityException: Permission Denial: reading com.sonyericsson.conversations.provider.ConversationsSettingsProvider uri content://com.sonyericsson.conversations/settings from pid=2499, uid=10024 requires com.sonyericsson.permission.CONVERSATIONS_SETTINGS_PROVIDER
04-19 01:28:34.597: ERROR/DatabaseUtils(1595):     at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:240)
04-19 01:28:34.597: ERROR/DatabaseUtils(1595):     at android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:116)
04-19 01:28:34.597: ERROR/DatabaseUtils(1595):     at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:98)
04-19 01:28:34.597: ERROR/DatabaseUtils(1595):     at android.os.Binder.execTransact(Binder.java:291)
04-19 01:28:34.597: ERROR/DatabaseUtils(1595):     at dalvik.system.NativeStart.run(Native Method)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499): CameraConfigManager:CUSTOMIZATION: An exception occurs in reading provider of conversation application.
04-19 01:28:34.607: ERROR/SemcCameraApp(2499): java.lang.SecurityException: Permission Denial: reading com.sonyericsson.conversations.provider.ConversationsSettingsProvider uri content://com.sonyericsson.conversations/settings from pid=2499, uid=10024 requires com.sonyericsson.permission.CONVERSATIONS_SETTINGS_PROVIDER
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.os.Parcel.readException(Parcel.java:1218)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.content.ContentProviderProxy.bulkQuery(ContentProviderNative.java:326)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.content.ContentProviderProxy.query(ContentProviderNative.java:345)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.content.ContentResolver.query(ContentResolver.java:202)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at com.sonyericsson.android.camera.CameraConfigManager.readCustomizationSettings(CameraConfigManager.java:2729)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at com.sonyericsson.android.camera.CameraConfigManager.<init>(CameraConfigManager.java:472)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at com.sonyericsson.android.camera.CameraActivity.onCreate(CameraActivity.java:246)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2466)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2519)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.app.ActivityThread.access$2200(ActivityThread.java:123)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1870)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.os.Looper.loop(Looper.java:123)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at android.app.ActivityThread.main(ActivityThread.java:4370)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at java.lang.reflect.Method.invokeNative(Native Method)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at java.lang.reflect.Method.invoke(Method.java:521)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-19 01:28:34.607: ERROR/SemcCameraApp(2499):     at dalvik.system.NativeStart.main(Native Method)

-代码在模拟器中运行良好。这是我的 androidmanifest: 任何人,任何想法......

<uses-permission android:name ="android.permission.INTERNET" />
<uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER" />
<uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<application android:icon="@drawable/icon" android:label="@string/app_name"  

【问题讨论】:

  • 这似乎是索尼爱立信相机应用程序抛出的。尝试使用其他相机应用程序,看看您是否遇到相同的异常。
  • 我也遇到了同样的问题,你解决了吗?

标签: android permissions


【解决方案1】:

你读过自己的错误吗?

requires com.sonyericsson.permission.CONVERSATIONS_SETTINGS_PROVIDER

因为这个错误有 'com.sonyericsson.'我假设这将是一个自定义权限。不知道还能告诉你什么。

【讨论】:

  • 嗯,这听起来像是定制的,我假设您正在与索尼合作,请尝试询问他们的硬件团队。
【解决方案2】:

您现在使用的是实际设备,因此如果制造商愿意,权限会有所不同。 (这意味着他们对标准任务使用非标准意图。)

添加:

<uses-permission android:name="com.sonyericsson.permission.CONVERSATIONS_SETTINGS_PROVIDER" />

到您的清单。然后看看它是否适用于索尼。

【讨论】:

  • 我试过这个,但没有用。如果我们需要每个制造商的不同权限才能打开相机……我已经花了很多时间在这方面,但没有解决方案……
  • 如果您发布一些有关您设备的代码和详细信息,我会再看看。
  • 谢谢布兰登。设备:索尼爱立信 Xperia SO-01B 固件 2.1 更新1。
  • 这是抛出异常的地方:
  • @Brandom SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS"); String filenameTimestamp = timeStampFormat.format(new Date()); ContentValues 值 = 新 ContentValues(); values.put(Media.TITLE, String.format("worldTwitter_%s.jpg", filenameTimestamp)); //values.put(Media.TITLE, String.format("uno.jpg", filenameTimestamp)); values.put(Media.DESCRIPTION, getString(R.string.image_posted_from_o_tweet)); photoUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
猜你喜欢
  • 2016-07-25
  • 2017-09-19
  • 1970-01-01
  • 2013-07-03
  • 2015-12-21
  • 2020-06-03
  • 2020-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多