Alw*_*sed 7 android android-permissions
我的应用程序需要访问CAMERA和WRITE_EXTERNAL_STORAGE权限。
一旦我的应用程序加载,我想要求用户一个接一个地允许这两种权限。我有这个代码:
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2);
}
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 1);
}
Run Code Online (Sandbox Code Playgroud)
现在一旦我的应用程序加载它会要求第一个权限,但在我再次重新加载整个应用程序之前不会要求第二个权限。
应用程序加载后,如何向用户询问这两个权限?
您必须将所有权限放入一个String
数组中:
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}
Run Code Online (Sandbox Code Playgroud)
这样,用户将看到一个包含所有权限的对话框,他们可以决定单独拒绝或授予每个权限。一旦它们完成,您Activity
将被调用onRequestPermissionsResult()
。
此方法的参数之一是int
名为grantResults的类型的数组,您可以对其进行评估以了解授予了哪些权限。
归档时间: |
|
查看次数: |
2076 次 |
最近记录: |