您好我正在尝试使用以下内容创建一个现有帐户:
AccountManager am = AccountManager.get(activity);
Account[] acc = am.getAccountsByType( activity.getResources().getString(R.string.ACCOUNT_TYPE));
和我的清单
on="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.sample"
>
<!--<uses-permission android:name="android.permission.GET_ACCOUNTS" />-->
<!-- Request permission to use a device camera -->
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera2"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<!-- client -->
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<!-- Authenticator -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
<application
...
<service
android:name="com.test.sample.AccountAuthenticatorService"
android:exported="true" android:process=":auth"
>
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />
</service>
</application>
</manifest>
getAccountsByType需要GET_ACCOUNTS权限,我已将其添加到清单中但仍然出现此错误:
java.lang.RuntimeException:无法启动活动 ComponentInfo {com.test.sample / com.test.sample.activities.MainActivity}: java.lang.SecurityException:调用者uid 10340缺少任何 android.permission.GET_ACCOUNTS
我用Google搜索:
但仍然得到同样的错误。 此错误仅发生在Android设备(多个三星设备)上,但在模拟器中很好。
任何人都知道其他可能有效的解决方案吗?