我正在使用運行時權限請求,但是存在問題。看起來回調方法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()中會發生什麼? –