【发布时间】:2017-08-29 01:35:40
【问题描述】:
这是函数调用时询问权限的代码。
public void sendMessage(View view) {
if(Build.VERSION.SDK_INT <23 || checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
Toast.makeText(this,"Permission has granted, very nice.",Toast.LENGTH_SHORT).show();
}
else{
if(!shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)){
Toast.makeText(this,"This permission is required for this action, what a pitty.",Toast.LENGTH_SHORT).show();
}
else{
requestPermissions(new String[]{Manifest.permission.CAMERA},100);
Toast.makeText(this,"If you wanna do that, you have to give permission.",Toast.LENGTH_SHORT).show();
}
}
}`
这是 AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
问题是这样的。
在这种情况下, 在 SDK 21 -> 安装应用程序时会询问权限。 在 SDK 25 -> 安装时不会询问权限,但调用函数时会询问
这个结构对吗?
【问题讨论】:
标签: android runtime-permissions