That's my point:

a) the docs for adjustSuggestedStreamVolume doesn't mention this
permission, although it does say: "This method should only be used by
applications that replace the platform-wide management of audio
settings or the main telephony application"
b) you said your code doesn't call this method

You could add the permission just to take care of this device and risk
negative feedback and Market comments along the lines of "red alert!
spyware! why does it need to change system settings?"

Also to consider:

a) is the crash log really from your app (it should be with ACRA)
b) is the user is running some weird unofficial firmware

My advice -- still the same, just ignore. As your app gets mode
downloads, there'll be "stranger and stranger" crash and ANR reports.

-- K

2 марта 2012 г. 1:31 пользователь Jonathan S <[email protected]> написал:
> Well, it did said "requires android.permission.WRITE_SETTINGS"
>
>
> On Thursday, March 1, 2012 11:37:13 AM UTC-5, Viktor Brešan wrote:
>>
>> 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to