私はrecyclerviewアダプタを使用して、このrecyclerview内にrecyclerviewと設定データがあるフラグメントを持っています。フラグメントとアクティビティの両方で定義されている場合、onRequestPermissionsResultはフラグメント内で呼び出されていません
今、AndroidのREAD_EXTERNAL_STORAGE権限とAndroidの新しい権限モデルを確認する必要があるアダプタのリストアイテムにボタンがあります。
私は、このアダプターのフラグメントに新しい機能を作成して、許可が与えられているかどうかを確認し、まだ許可されていない場合に許可を要求しました。
アダプターのパラメーターとしてMyFragment.thisを渡し、アダプターのボタンをクリックしてフラグメントのメソッドを呼び出しました。
以下のコードを使用して、requestPermissionをフラグメントで呼び出しました。
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case ConstantVariables.READ_EXTERNAL_STORAGE:
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted, proceed to the normal flow.
startImageUploading();
} else {}
をしかし、この活動のonRequestPermissionsResultメソッドが呼び出さなっているのではなく、呼ば取得されていません。
if(ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED)){
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
ConstantVariables.READ_EXTERNAL_STORAGE);
}
私は以下のコードを使用してフラグメントでonRequestPermissionsResult
メソッドをオーバーライドしています。
私はフラグメントの親アクティビティでも同じonRequestPermissionsResultメソッドを定義しており、呼び出されています。
アクティビティのonRequestPermissionsResultメソッドを削除できませんが、フラグメントからのアクセス許可を要求するときに、フラグメントのonRequestPermissionsResultメソッドを呼び出す必要があります。 どうすればいいですか?私はここで何か間違っているのですが、もし誰かがここでアイデアを持っていたら私を助けてください幅広い問題
をカバーするための答えを編集
(HTTP [フラグメントのタイム権限を実行する]このリンクを参照してください。 /stackoverflow.com/questions/34342816/android-6-0-multiple-permissions/38563687#38563687)これは正確な解決策です –