0
実行時にリクエストのアクセス許可が実装されましたが、アクセス許可が必要なメソッドを呼び出すタイミングがわかりません。アクセス許可取得Android APIレベルでのイベント処理
ユーザーが許可ダイアログで「はい」ボタンを押して時間を必要とするので、私はすぐにメソッドを呼び出すことはできません。
onPermissionsObtainedイベントを処理するために非常に有用であろうが、私はそれへの同様のを見つけることができません。
これに対処するにはどうすればよいですか?
を例
private void startBuildInCameraActivity(View v) {
if ((ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) ||
(ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED)) {
requestPermissions();
//TODO init onPermissionObtained event handler here instead "return"
return;
}
startCamera();
}
のための私のコードを参照してください問題は、ユーザーは、彼が権限を持っていない場合は二回startBuildInCameraActivityを呼び出す必要があります。それ以外の場合、startCamera()は決して呼び出されません。
アクセス権が必要な場合は、 'startBuildInCameraActivity()'メソッドで、 'onRequestPermissionsResult()'では 'startCamera()'を呼び出す必要があります。あなたがそれを見逃してしまった場合、ランタイムアクセス許可についての良い[記事](https://developer.android.com/training/permissions/requesting.html)があります。 – Drez