【发布时间】:2017-10-01 00:22:15
【问题描述】:
在我的活动页面之一的片段中,我想获得用户的许可并在授予许可后执行一些操作,但 onRequestPermissionsResult 不起作用,并且在授予许可后我没有看到任何日志
public class FragmentAboutUs extends Fragment implements ActivityCompat.OnRequestPermissionsResultCallback {
private Activity activity;
private Context context;
...
private int WRITE_EXTERNAL_STORAGE = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_about_us, container, false);
activity = getActivity();
context = getActivity().getBaseContext();
...
aboutUs = SQLite.select().from(AboutUs.class).querySingle();
if (aboutUs == null) {
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_STORAGE);
} else {
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_STORAGE);
}
}
}
return view;
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == WRITE_EXTERNAL_STORAGE) {
Log.e("permission granted"," OK");
} else {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
}
【问题讨论】:
-
你的 onRequestPermissionsResult 在哪里
标签: android android-permissions