使用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中的所有权限的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu 上使用电容器在 android-studio 上运行 Ionic 应用程序?
如何在 Android Studio 中对动作运行 SoundPool
如何在 Android-studio 或移动设备上运行 ionic-capacitor 应用程序?