是否可以撤销浓缩咖啡的许可?



我目前正在为一个应用程序编写一些测试。如果应用没有存储权限,则会弹出一个片段。我知道如何使用"授予权限规则"授予权限,但是有没有办法撤销权限?

不,这是不可能的。引自 https://developer.android.com/reference/android/support/test/rule/GrantPermissionRule:

授予权限后,它将应用于当前检测中运行的所有测试。授予权限后无法撤销权限。尝试这样做将使检测进程崩溃。

我能建议的是将权限方法包装到某个服务中,并模拟值检查是否授予权限

是的,在测试过程中可能...Feuby在SO 2017问题中对同一问题给出了一个有点正确的答案

安卓在每次测试开始时撤销权限

重复他的代码

public static boolean checkCameraPermission(MainActivity thisActivity( { 返回 ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.CAMERA( == PackageManager.PERMISSION_GRANTED; }

public static void checkAndAskCameraPermission(final MainActivity thisActivity( {

if (!checkCameraPermission(thisActivity)) {
//No right is granted 
// Should we show an explanation? 
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.CAMERA)) { 
//Open a dialog explaining why you are asking permission then when when positive button is triggered, call this line 
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.CAMERA},
CHECK_FOR_CAMERA_PERMISSION); 
} else { 
// No explanation needed, we can request the permission. 
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.CAMERA},
CHECK_FOR_CAMERA_PERMISSION); 
} 
} 

}

最新更新