Android 设置铃声时出现意外错误
我正在尝试用我的应用设置铃声。为此,我需要在手机的外部存储器中写入声音。但每次我尝试这样做时,都会出现以下错误:Android 设置铃声时出现意外错误,android,Android,我正在尝试用我的应用设置铃声。为此,我需要在手机的外部存储器中写入声音。但每次我尝试这样做时,都会出现以下错误: FATAL EXCEPTION: main Process: com.mtoy.tiboxinshape, PID: 26322 java.lang.SecurityException: Permission Denial: writing com.android.providers.media.MediaProvider uri content://
FATAL EXCEPTION: main
Process: com.mtoy.tiboxinshape, PID: 26322
java.lang.SecurityException: Permission Denial: writing com.android.providers.media.MediaProvider uri content://media/external/audio/media from pid=26322, uid=10211 requires android.permission.WRITE_EXTERNAL_STORAGE, or grantUriPermission()
at android.os.Parcel.readException(Parcel.java:1620)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
at android.content.ContentProviderProxy.insert(ContentProviderNative.java:476)
at android.content.ContentResolver.insert(ContentResolver.java:1231)
at com.mtoy.tiboxinshape.SoundAdaptateur$2.onLongClick(SoundAdaptateur.java:142)
at android.view.View.performLongClick(View.java:5243)
at android.view.View$CheckForLongPress.run(View.java:21127)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
我不明白为什么我仍然有这个错误,因为我的manifest.xml中有以下行:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
您知道我可以做些什么来避免出现此错误吗?以下是我找到的解决方案:
Android在最新的23 API级别中更改了权限accept,在此过程中,一些权限将在安装时自动授予,这些权限可在清单中提及,其余权限在运行时为accept,因为这么多坏蛋试图通过这个安全漏洞收集用户的个人数据,所以Android将其更改为运行时权限 有关运行时权限和运行时权限进程的详细信息,请参阅Accept 链接下方休耕
谢谢,它帮助我解决了问题