等待,直到Android中收到Permisson请求结果
我见过这么多问题。答案是否定的 因此,我添加了如下代码(简化版):等待,直到Android中收到Permisson请求结果,android,Android,我见过这么多问题。答案是否定的 因此,我添加了如下代码(简化版): 但是,我不确定我的方法是否好、安全和高效。好吧,你想要实现的目标根本不可能,但是有几种方法可以克服这一点: 仅在授予权限时触发要调用的方法 如果您想让用户只使用您的应用程序,因为特定的权限非常重要,没有它,您的应用程序将无法运行,那么请使用一个经过培训的屏幕,告诉用户您为什么要以介绍屏幕的方式使用此权限 我已经为这种情况创建了一个库,库为您简化了权限,它还可以用作一个独立的活动,其中包含对您的权限的介绍。您可以在Github中查
但是,我不确定我的方法是否好、安全和高效。好吧,你想要实现的目标根本不可能,但是有几种方法可以克服这一点:
权限时触发要调用的方法
权限
非常重要,没有它,您的应用程序将无法运行
,那么请使用一个经过培训的屏幕,告诉用户您为什么要以介绍屏幕的方式使用此权限
我已经为这种情况创建了一个库,
库
为您简化了权限
,它还可以用作一个独立的活动
,其中包含对您的权限的介绍。您可以在Github中查看它,而(!hasGotPermissionRequestResult){}
中的onCreate
。。。基本上它既不好也不安全也不高效。。。根据经验法则:永远不要使用繁忙的等待循环。尤其是在UI线程上
public class MyActivity ... {
private boolean hasGotPermissionRequestResult = false;
@Override
public void onCreate(...) {
if (ContextCompat.checkSelfPermission(...) == PackageManager.PERMISSION_DENIED) {
ActivityCompat.requestPermission(...);
while (!hasGotPermissionRequestResult) {}
}
}
@Override
public void onRequestPermissionResult(...) {
// whether granted or not
hasGotPermissionRequestResult = true;
}
}