2016-09-28 21 views
0

に呼び出されていないonRequestPermissionsResult、私は私が入れた場合、私は結果私はrequestPermissionsを呼び出すDialogFragmentでフラグメント

@Override 
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { 
     Log.i("permission", "Request Code: "+ requestCode); 

を取得するには、このコードを使用し、これらのコードにgetActivity().requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},12);

または

requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1); 

を試してみましたそれは私のHoneActivityでそれは正常に動作しますが、私はonRequestPermissionsResult私の断片で呼び出す必要があります。私がrequestPermissionsと呼んでいた部分にコードを置くと、それはもう動作しません。私はまた、成功しなかったs uper.onRequestPermissionsResultで試しました。他のトピックではどこにバグがありますか、私は私のバージョンをチェックして、私はcom.android.support:appcompat-v7:24.0.0を使っています。

答えて

1

あなたは

@Override 
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { 
    Log.i("permission", "Request Code: "+ requestCode); 
} 

、あなたのフラグメントに

getActivity().requestPermissions(new String[{Manifest.permission.READ_EXTERNAL_STORAGE},12); 

これを呼ばれ、あなたのフラグメントを追加しているあなたの活動に呼ばなっています。

フラグメントで

のでrequestPermissions()、あなたがあなたのフラグメントを追加しているactivity.whereあなたの親でonRequestPermissionsResult()を確認してください。

Reason is requestPermissionsにはaurgumentとしてのアクティビティが必要です。hereを確認してください。

+0

しかし、getActivity()を使わずにrequestPermissions()を直接呼び出すとします。私の想定よりもonRequestPermissionsResult()コールを私のフラグメントの右に持ってきましたか?これは私のために働いていない – user567

関連する問題