在按下允许按钮获取运行时权限时,它不是在调用操作方法吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在按下允许按钮获取运行时权限时,它不是在调用操作方法吗?相关的知识,希望对你有一定的参考价值。

在我的应用程序中按下允许按钮它没有调用动作方法一旦授予权限后,它在这里工作正常我正在使用片段这样如何调用动作方法当允许按钮按任何解决方案。

//变量声明

    private static final int MY_PERMISSIONS_REQUEST_PHONE_CALL = 11;

//使用onClick侦听器的方法

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {



            if (ContextCompat.checkSelfPermission(getActivity(),
                    android.Manifest.permission.CALL_PHONE)
                    != PackageManager.PERMISSION_GRANTED) {


                if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(),
                        android.Manifest.permission.CALL_PHONE)) {



                } else {
                    ActivityCompat.requestPermissions(getActivity(),
                            new String[]{android.Manifest.permission.CALL_PHONE},
                            MY_PERMISSIONS_REQUEST_PHONE_CALL);


                }
            }
            else {

                CallPErmission();
            }


        }
    });

// onrequest权限

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);

    switch (requestCode) {


        case MY_PERMISSIONS_REQUEST_PHONE_CALL:



            if(grantResults.length>0 && permissions[0].equals(android.Manifest.permission.CALL_PHONE)){

                if(grantResults[0]==PackageManager.PERMISSION_GRANTED )
                {


                    CallPErmission();

                }



           }

打破;

    }


}
答案

你为什么不使用你的片段requestPermission方法而不是ActivityCompat方法,并通过覆盖你的片段上的onRequestPermissionsResult获得结果?

以上是关于在按下允许按钮获取运行时权限时,它不是在调用操作方法吗?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 在按下按钮或 onpressed 事件后授予相机和麦克风权限

如何在按下“停止”按钮时捕获捆绑的GDB在clion中发出的信号?

颤振:如何在按下后退按钮时不退出应用程序

Qt:脚本在按下按钮之前运行

F5(刷新)作为提交

按下按钮时获取 PyQt4 以打开另一个 Qt 窗口