更新后允许按钮不起作用

hak*_*ine 39 permissions android android-6.0-marshmallow

在已安装Android Marshmallow最新更新的设备上 - 即2016年6月更新,当我要求权限时,ALLOW按钮不起作用.

我用这两个设备进行了测试:

Nexus 6p(Andoid版本 - 6.0.1,内部版本号 - MTC19V)

Nexus 7(Android版本6.0.1,内部版本号 - MOB30M)

两者都有最新的更新,当我请求权限时,会显示对话框,但我无法按下ALLOW按钮.

这是我用来请求权限的代码:

public void showPermissionsDialog() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        int hasWriteExternalStoragePermission = activity.checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
        int hasWriteGetAccountsPermission = activity.checkSelfPermission(android.Manifest.permission.GET_ACCOUNTS);

        if (hasWriteExternalStoragePermission != PackageManager.PERMISSION_GRANTED || hasWriteGetAccountsPermission != PackageManager.PERMISSION_GRANTED) {
            activity.requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.GET_ACCOUNTS}, MainActivity.REQUEST_CODE_ASK_PERMISSIONS);
        } else {
            isAllPermissionsGranted = true;
        }
    } else {
        isAllPermissionsGranted = true;
    }

}



    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        if (requestCode == REQUEST_CODE_ASK_PERMISSIONS) {
            if (grantResults.length > 0) {
                boolean isAllPermissionsGranted = true;
                for (int i = 0; i < grantResults.length; i++) {
                    if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {
                        isAllPermissionsGranted = false;
                    }
                }

                if (isAllPermissionsGranted) {
                    this.isAllPermissionsGranted = true;
                } else {
                    android.widget.Toast.makeText(this, "Please, grand permissions", android.widget.Toast.LENGTH_LONG).show();
                    showPermissionsDialog();
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

对于如何解决这个问题,有任何的建议吗?提前致谢!

编辑

以下是Google的错误报告.我们还在等待谷歌的修复.

编辑1

这个问题已被解决!

Jav*_*ira 55

编辑:它已被标记为最后一个android中的缺陷,它将在未来的操作系统版本中修复.错误报告

编辑2:文件管理员给我发电子邮件,他们在他们的应用程序中修复此功能.我还没有尝试过文件管理器,但是如果你更新应用程序它不应该再给你这个问题了.但基本上这种行为,可能来自任何应用程序以错误的方式覆盖,直到android修复它.

我终于得到了它(至少在我的情况下)...它是f****文件管理器应用程序的服务.如果其服务已停止,则权限将再次起作用.

https://play.google.com/store/apps/details?id=com.rhmsoft.fm

我在更新"MOB30M"之前有这个应用程序和运行时权限,在那里工作没有问题(是我的日常工作来编程)我一直在使用文件管理器将发布APK放入手机并运行它来安装APK.所以我今天安装的应用程序不是.

我资金可怕的是,一个应用程序可以使所有权限系统崩溃.

这是和过度的问题

我知道权限系统没有崩溃,因为一个应用程序可以用来伪造对话框,但不应该Android(谷歌)告诉你,你有一个运行在顶部的应用程序,如果你想授予你应该卸载XXXX app的应用程序的权限?我的意思是为了用户体验.

普通用户会认为他的手机坏了,可能会将手机发回谷歌或运营商xD

来吧,老实说,不能让这个更好吗?是不是你需要你的手机有这种行为(我的手机没有root).如果你没有告诉用户发生了什么,那就像是坏了