简体   繁体   中英

Android Permission denial Weird

Im doing an twitter app(yes, another...) and to upload a pic when a choose the camera to take the picture the camera opens but an exception is thrown so I cant handle get the picture taken.

This error is occurring on a Sony Ericsson Xperia SO-01B Firmware 2.1 update1.

Code:

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);

Error:

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)

-The code runs just fine in the emulator.This is my androidmanifest: Anybody, any idea ...

<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"  

did you read your own error?

requires com.sonyericsson.permission.CONVERSATIONS_SETTINGS_PROVIDER

Being that this error has 'com.sonyericsson.' i'm assuming it would be a custom permission. Wouldn't know what else to tell you.

You're on an actual device now, so the permissions will be a little different if the manufacturer feels like it. (Meaning they use non-standard intents for standard tasks.)

Add:

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

To your manifest. Then see if it works on the Sony.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM