美文网首页
拨打电话-权限运行时

拨打电话-权限运行时

作者: 厦门_小灰灰 | 来源:发表于2017-10-27 11:29 被阅读11次

    1.在Android6.0之前,所有的权限都是在安装的时候统一分配的,但是6.0之后,可以在某个时候要用到某个功能权限的时候,在弹出让用户进行选择,是否赋予权限,非常人性化。当然也不是所有功能权限都会弹出,让用户进行选择,只有一些危险的权限,比如,通讯录,拨打电话,短信,定位,拍照等;

    以下代码是展示拨打电话的操作:
    首先在AndroidManifest.xml中加入以下权限

        <uses-permission android:name="android.permission.CALL_PHONE"/>
    

    然后编写拨打电话的代码:

        public void callPhoneAction(){
            try {
                Intent intent = new Intent(Intent.ACTION_CALL);
                intent.setData(Uri.parse("tel:10086"));
                startActivity(intent);
            } catch ( SecurityException e ) {
                e.printStackTrace();
            }
        }
    

    当然还要加上权限判断:

    //检查是否有打电话权限
     if (ContextCompat.checkSelfPermission
    (LoginActivity.this, Manifest.permission.CALL_PHONE) !=
    PackageManager.PERMISSION_GRANTED)
     {
    ActivityCompat.requestPermissions(LoginActivity.this, new String[]{Manifest.permission.CALL_PHONE}, 1);
                    
    } else
     {
          callPhoneAction();
     }
    
    //权限选择之后的回调
        @Override
        public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    //        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
            switch ( requestCode ) {
                case 1:
                {
                    if ( grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED ) {
                        callPhoneAction();
                    }
                }
                    break;
    
                default:
                    break;
            }
        }
    

    这样就可以拨打电话了。

    相关文章

      网友评论

          本文标题:拨打电话-权限运行时

          本文链接:https://www.haomeiwen.com/subject/jasrpxtx.html