我制作了一个使用相机的应用程序。
在Android 5(Lollipop)之前运行良好。
然而现在它在Android 6上崩溃,甚至没有显示权限提示。
如果在android设置面板中设置权限。它运作良好。
如何在用户安装时自动设置权限?
有没有好的样品?
我正在查看此示例代码,但老实说 它对于只有相机权限来说太复杂了。
答案 0 :(得分:1)
要获取Android 6中的权限: -
public void android6permission{
String[] permissions = {
"android.permission.CAMERA",
"android.hardware.camera",
"android.permission.ACCESS_COARSE_LOCATION",
"android.permission.WRITE_EXTERNAL_STORAGE",
"android.permission.READ_EXTERNAL_STORAGE"
};
requestPermissions(permissions, 122323);
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case 122323: {
if (grantResults[0] ==
PackageManager.PERMISSION_GRANTED){
// Do task
} else {
Toast.makeText(getApplicationContext(),"Access denied",Toast.LENGTH_SHORT).show();
// permission denied, boo! Disable the
// functionality that depends on this permission.
}
return;
}
}
}
只需在onCreate中运行方法android6permission()
答案 1 :(得分:1)
自Android 6.0以来,权限机制已更改。您必须在运行时请求权限(当用户请求特定的系统服务时)。如果您的目标是6.0,并且您还没有处理运行时权限,那么您的应用就会崩溃。
查看以下官方文档:
http://developer.android.com/training/permissions/requesting.html