[android-developers] java.lang.SecurityException: Permission Denial, but my app does not change settings

2012-03-01 Thread Viktor Brešan
I have an app with about 6,000 active users. I also use ACRA for app crash 
reporting. While I was going through the crash reports I have found the 
following exception:

java.lang.SecurityException: Permission Denial: writing 
com.android.providers.settings.SettingsProvider uri 
content://settings/system from pid=21700, uid=10061 requires 
android.permission.WRITE_SETTINGS
at android.os.Parcel.readException(Parcel.java:1234)
at android.os.Parcel.readException(Parcel.java:1222)
at 
android.media.IAudioService$Stub$Proxy.adjustSuggestedStreamVolume(IAudioService.java:357)
at 
android.media.AudioManager.adjustSuggestedStreamVolume(AudioManager.java:415)
at 
com.android.internal.policy.impl.PhoneWindow.onKeyDown(PhoneWindow.java:1234)
at 
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1735)
at 
android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2188)
at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2158)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1490)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3948)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
at dalvik.system.NativeStart.main(Native Method)

The problem is, my app never tries to change device settings, this includes 
stream volume. How come this exception was thrown from my application? What 
can be done to prevent these thing in future.

Device that reported crash was Samsung GT-I5700 running Android 1.5.


-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Re: [android-developers] java.lang.SecurityException: Permission Denial, but my app does not change settings

2012-03-01 Thread Kostya Vasilyev
Some firmwares are so nice that they have their own (contrary to
what's documented) ideas for permissions.

One thing I've came accross is the 3.2.1 for the Samsung Galaxy Tab
requires CHANGE_NETWORK_STATE to disable WiFi (but not to enable it).
Another was some random permission on the HTC Thunderbold (forget
which one it was).

Since this is a very old device, running a very old version of
Android, I'd just ignore it. Can't win 'em all.

-- Kostya

1 марта 2012 г. 20:37 пользователь Viktor Brešan
viktor.bre...@gmail.com написал:
 I have an app with about 6,000 active users. I also use ACRA for app crash
 reporting. While I was going through the crash reports I have found the
 following exception:

 java.lang.SecurityException: Permission Denial: writing
 com.android.providers.settings.SettingsProvider uri
 content://settings/system from pid=21700, uid=10061 requires
 android.permission.WRITE_SETTINGS
     at android.os.Parcel.readException(Parcel.java:1234)
     at android.os.Parcel.readException(Parcel.java:1222)
     at
 android.media.IAudioService$Stub$Proxy.adjustSuggestedStreamVolume(IAudioService.java:357)
     at
 android.media.AudioManager.adjustSuggestedStreamVolume(AudioManager.java:415)
     at
 com.android.internal.policy.impl.PhoneWindow.onKeyDown(PhoneWindow.java:1234)
     at
 com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1735)
     at
 android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2188)
     at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2158)
     at android.view.ViewRoot.handleMessage(ViewRoot.java:1490)
     at android.os.Handler.dispatchMessage(Handler.java:99)
     at android.os.Looper.loop(Looper.java:123)
     at android.app.ActivityThread.main(ActivityThread.java:3948)
     at java.lang.reflect.Method.invokeNative(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:521)
     at
 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
     at dalvik.system.NativeStart.main(Native Method)

 The problem is, my app never tries to change device settings, this includes
 stream volume. How come this exception was thrown from my application? What
 can be done to prevent these thing in future.

 Device that reported crash was Samsung GT-I5700 running Android 1.5.


 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en