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

onRequestPermissionsResult called in HomeActivity but not in Fragment

在片段中我调用了 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 class 上获得 onRequestPermissionsResult。我试过了,但没有用。有很多类似的主题,但其中 none 帮助我解决了问题。

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

requestPermissions 调用仅在 Activity 内可用。还有一个 ActivityCompat.requestPermissions,但它也需要一个 Activity 上下文作为回调。

回调仅在 activity 内有效。我建议您创建一个 listener you can call into your fragment or use an event bus.