私は実行時の許可要求を使用していますが、問題があります。コールバックメソッド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が投稿を編集しました)thanks – BVtp
MyManager.connect()で何が起こりますか? –