我制作了一个使用相机的应用程序。
- Titanium 命令行界面,CLI 版本 5.0.5,
- 钛 SDK 版本 5.1.1.GA
它在 Android 5 (Lollipop) 之前运行良好。
但是现在它在 Android 6 上崩溃,甚至没有显示权限提示。
如果您在 android 设置面板中设置权限。它运作良好。
用户安装时如何自动设置权限?
有没有好的样品?
我正在检查这个示例代码,但老实说,它对于仅相机权限来说太复杂了。
我制作了一个使用相机的应用程序。
它在 Android 5 (Lollipop) 之前运行良好。
但是现在它在 Android 6 上崩溃,甚至没有显示权限提示。
如果您在 android 设置面板中设置权限。它运作良好。
用户安装时如何自动设置权限?
有没有好的样品?
我正在检查这个示例代码,但老实说,它对于仅相机权限来说太复杂了。
要在 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()
从 Android 6.0 开始,权限机制发生了变化。您必须请求运行时的权限(当用户请求特定的系统服务时)。如果您的目标是 6.0 并且您没有处理运行时权限,您的应用程序将会崩溃。
查看以下官方文档:
http://developer.android.com/training/permissions/requesting.html