我正在使用运行时权限请求,但是存在问题。看起来回调方法onRequestPermissionsResult
被无限调用。因此,当用户拒绝该请求时,该应用程序无响应。onRequestPermissionsResult被无限调用
每次用户单击“拒绝”时,权限对话框都会重新出现。只有点击“永不再问”才会再次出现。 *当按'允许'时效果很好 - 没有任何问题。
有什么办法可以在一次之后取消被调用的方法吗?
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.ACCESS_FINE_LOCATION }, LOCATION_PERMISSION_CUSTOM_REQUEST_CODE);
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch(requestCode)
{
case LOCATION_PERMISSION_CUSTOM_REQUEST_CODE:
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted
MyManager.connect();
return;
} else {
// permission denied
return;
}
default:
return;
}
}
请发布您的代码 –
@GilMoshayof编辑帖子)谢谢 – BVtp
在MyManager.connect()中会发生什么? –