获取getAccountsByType

时间:2015-08-13 02:55:03

标签: android permissions accountmanager securityexception

您好我正在尝试使用以下内容创建一个现有帐户:

 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搜索:

  

Permissions Not Working

但仍然得到同样的错误。 此错误仅发生在Android设备(多个三星设备)上,但在模拟器中很好。

任何人都知道其他可能有效的解决方案吗?

0 个答案:

没有答案