使用android studio运行应用程序时如何启用android 6.0中的所有权限

Posted

技术标签:

【中文标题】使用android studio运行应用程序时如何启用android 6.0中的所有权限【英文标题】:How to enable all the permissions in android 6.0 when run the app using android studio 【发布时间】:2017-01-01 08:37:34 【问题描述】:

我正在使用 android 6.0 在 android studio 中构建我的应用程序。运行该应用程序时,该应用程序的所有权限似乎都未自动启用。需要从settings->apps->app_name手动授予权限,然后启用特定权限。

有没有办法在使用android studio运行应用程序时启用所有权限?

【问题讨论】:

这是 android 6.0 从用户那里获得运行时权限的主要功能之一。所以你不能通过代码自己授予权限。 从 6.0 开始,强烈建议只在您的应用需要“危险”权限时向用户询问。因此,如果您的应用程序有一个“获取我的位置”按钮,您应该只在用户触摸该按钮时提示用户提供位置权限。您可以在应用程序启动时使用权限对话框向用户发送垃圾邮件,但这是一种非常糟糕的体验,并且可能会吓跑用户。阅读this 以了解有关它的一些信息 见***.com/a/36937109/1770868 见***.com/a/37546500/1770868 【参考方案1】:

在 Android 6 上,您绝对必须要求用户接受许可。这是一个很好的例子https://***.com/a/34722591/4051322

【讨论】:

【参考方案2】:

我觉得你可以试试这个

 private void Verifypermissions()

    Log.d(TAG,"Verify permissions: asking user for permissions");
    String[] permissions=Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
            Manifest.permission.CAMERA;
    if(ContextCompat.checkSelfPermission(this.getApplicationContext(),
            permissions[0])== PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(this.getApplicationContext(),
            permissions[1])==PackageManager.PERMISSION_GRANTED
            && ContextCompat.checkSelfPermission(this.getApplicationContext(),
            permissions[2])==PackageManager.PERMISSION_GRANTED)
    
        return;
    

    else
    
        ActivityCompat.requestPermissions(MainActivity.this,permissions,REQUEST_CODE);
    



@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) 
    Verifypermissions();

您可以在字符串数组中包含所需的权限

【讨论】:

以上是关于使用android studio运行应用程序时如何启用android 6.0中的所有权限的主要内容,如果未能解决你的问题,请参考以下文章

android studio在应用程序运行时打开调试模式

如何在 Ubuntu 上使用电容器在 android-studio 上运行 Ionic 应用程序?

如何在 Android Studio 中对动作运行 SoundPool

如何在 Android-studio 或移动设备上运行 ionic-capacitor 应用程序?

如何在运行应用程序时修复 android studio 版本 3.6.2 中的“无法解析结果路径字符串:”错误?

如何使用 kotlin 在 android studio 中引用 timerPicker