android– 如何在DialogFragment中获取Permission结果回调?

android– 如何在DialogFragment中获取Permission结果回调?,第1张

概述这是我的代码示例.publicclassDialogPermissionextendsDialogFragment{@Nullable@OverridepublicViewgetView(){Viewroot=LayoutInflater.from(getActivity()).inflate(R.layout.frg_dialog_permission,null,false);ButtonbtnRe

这是我的代码示例.

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结果回调?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115753.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存