android - GET_ACCOUNT 权限未在 android N 中授予

标签 android android-7.0-nougat runtime-permissions

我在做客户经理。我想检查帐户是否存在。

 private static final String TAG = "UserAccountUtil";

    public static Account getAccount(Context context) {
        if (ActivityCompat.checkSelfPermission(context, android.Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) {
            Log.d(TAG, "GET_ACCOUNTS not present.");

        }

        AccountManager accountManager = AccountManager.get(context);
        Account[] accounts = accountManager.getAccountsByType(Constant.ACCOUNT_TYPE);
        if (accounts.length > 0) {
            Log.d(TAG, "GET_ACCOUNTS  present..."+accounts[0]);
            return accounts[0];
        } else {
            Log.d(TAG, "GET_ACCOUNTS not  present...");

            return null;
        }
    }

它总是返回 null 或“GET_ACCOUNTS 不存在”。在日志中。我也在 list 中添加了。我也在请求运行时许可。

最佳答案

GET_ACCOUNTS--> Beginning with Android 6.0 (API level 23), if an app shares the signature of the authenticator that manages an account, it does not need "GET_ACCOUNTS" permission to read information about that account. On Android 5.1 and lower, all apps need "GET_ACCOUNTS" permission to read information about any account.The GET_ACCOUNTS permission is now Dead

您可以使用 READ_CONTACTS 权限代替。

  • 检查Build.VERSION.SDK_INT

演示

if (accounts.length > 0 && android.os.Build.VERSION.SDK_INT<23 ) {
            Log.d(TAG, "GET_ACCOUNTS  present..."+accounts[0]);
            return accounts[0];
        } else {
            Log.d(TAG, "GET_ACCOUNTS not  present...");

            return null;
        }

关于android - GET_ACCOUNT 权限未在 android N 中授予,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51075316/

相关文章:

android - Jetpack Compose 中 Box 内的组件中的 `fillMaxSize()` 和 `matchParentSize()` 有什么区别?

android - BaseAdapter 和 ArrayAdapter 有什么区别?

android - 蓝牙连接与 Android 应用程序自动断开

android - 是否可以用 Android M 替换 Android N 的 ART?

android - 运行时权限

java - 从数组元素创建新 View ,不好的做法吗?

android - 如何在android上创建烟花粒子图形效果

android - 如何获取当前语言环境(API 级别 24)?

android - Activity.requestPermissions 与 ActivityCompat.requestPermissions

android - READ_EXTERNAL_STORAGE 在应用程序重新启动之前未分配