Jos*_*ude 14 permissions android android-6.0-marshmallow
在Android 6设备上运行时,我收到以下异常.
java.lang.SecurityException: Missing android.permission.GET_ACCOUNTS
Run Code Online (Sandbox Code Playgroud)
这看起来像一个相当直接的例外,但对我来说并非如此.我的清单看起来像这样:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="..." >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<application
...
Run Code Online (Sandbox Code Playgroud)
抛出此异常的代码段如下:
mLoggedInEmail = Plus.AccountApi.getAccountName(mGoogleApiClient);
Run Code Online (Sandbox Code Playgroud)
在Android 5设备上它工作得很好.
Dis*_*two 23
从Android M,API 23开始,除了在清单中声明它们之外,您还需要在运行时请求一些权限.
有关详细信息,请参阅此链接:https://developer.android.com/training/permissions/requesting.html
作为一种快速解决方法,您可以将自己设置targetSdkVersion为22 build.gradle.
请注意,即使使用此解决方法,如果用户进入设置禁用应用的权限,您的应用也会崩溃.
这是受此新更改影响的权限列表:
| 归档时间: |
|
| 查看次数: |
7957 次 |
| 最近记录: |