这是我的代码示例.
public class DialogPermission extends DialogFragment { @Nullable @OverrIDe public VIEw getVIEw() { VIEw root = LayoutInflater.from(getActivity()).inflate(R.layout.frg_dialog_permission, null, false); button btnRead = (button) root.findVIEwByID(R.ID.btn_read_contact_permission); btnRead.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED){ if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(),Manifest.permission.READ_CONTACTS)){ }else{ ActivityCompat.requestPermissions(getActivity(),new String[]{Manifest.permission.READ_CONTACTS},101);} } } }); return root; } @OverrIDe public voID onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { Log.e("DialogPermission","Ho! Ho! Ho!"); // Log not printed super.onRequestPermissionsResult(requestCode, permissions, grantResults); }}
我不希望在Activity中回调.
我希望一切都清楚地解释.
解决方法:
要在同一对话框中获取Request权限结果,请使用DialogFragment类的requestPermissions方法.
public class DialogPermission extends DialogFragment { @Nullable @OverrIDe public VIEw getVIEw() { VIEw root = LayoutInflater.from(getActivity()).inflate(R.layout.frg_dialog_permission, null, false); button btnRead = (button) root.findVIEwByID(R.ID.btn_read_contact_permission); btnRead.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED){ if (shouldShowRequestPermissionRationale(Manifest.permission.READ_CONTACTS)){ } else{ requestPermissions(new String[]{Manifest.permission.READ_CONTACTS},101); } } } }); return root; } @OverrIDe public voID onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { Log.e("DialogPermission","Ho! Ho! Ho!"); // Log printed super.onRequestPermissionsResult(requestCode, permissions, grantResults); }}
总结 以上是内存溢出为你收集整理的android – 如何在DialogFragment中获取Permission结果回调?全部内容,希望文章能够帮你解决android – 如何在DialogFragment中获取Permission结果回调?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)