onRequestPermissionsResult在HomeActivity中调用,但不在Fragment中调用

时间:2016-09-27 16:03:05

标签: android android-fragments android-activity android-permissions

在片段中,我调用requestPermissions

public class FgDialogFragment extends DialogFragment {
requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE},22);

在HomeActivity中。 java我写了这个代码,工作正常

@Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        Log.i("info", "Result recieved");
    }

但我希望在FgDialogFragment类上获得onRequestPermissionsResult。我试过了,但它没有用。有很多类似的主题,但没有一个帮助我解决我的问题。

public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
super.onRequestPermissionsResult(requestCode,permissions,grantResults);
        Log.i("info", "Result recieved in fragment");
}

1 个答案:

答案 0 :(得分:1)

requestPermissions调用仅在活动中可用。还有ActivityCompat.requestPermissions,但这也需要Activity上下文来进行回调。

回调只能在活动中使用。我建议你创建一个listener,你可以调用你的片段或使用event bus