❶ android拨打电话
Intent.ACTION_DIAL是Intent指定的打开拨号界面的action,不需颤虚要声明权限,data中必须指定对应协议,否则会报错,拨号的协议为tel,后面可拼接电话号码或置空
Intent.ACTION_CALL是Intent指定的直接拨号的action,必须声明权限,否则程序将崩溃
CALL_PHONE是拨打电话功能必须声明的权限,因为涉及用户手机的资费问题,属于Android的一项危险权限。在Android6.0以及更高版本上,在使用危险权限时都必须进行运行时权限处理。所以,首先使用ContextCompat.checkSelfPermission()检测是否已经授权,checkSelfPermission()方法接收两个参数,第一个参数为上下文Context,第二个参数为具体的权限名,返回值和PackageManager.PERMISSION_GRANTED做比较,相等则表示已授权。如果不相等,使用ActivityCompat.requestPermissions()方法来向用户申请授权,requestPermissions()方法接收三个参数,第一个参数为Activity的实例,第二个为String数组,敏皮把需要申请的权限名放入数组即可,第三个为请求码,只需要保证其唯一性即可。
调用完茄拿燃requestPermissions()方法后,无论是否同意,都会回调到onRequestPermissionsResult()方法中,授权结果封装在grantResults参数中,requestCode表示唯一的请求码
❷ Android 跳转到拨号界面如何自动填写手机号,但是不自动拨出
1、跳转到拨号界面,代码如下:
1)直接拨打
java">IntentintentPhone=newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber));
startActivity(intentPhone);
2)跳转到拨号界面
Intentintent=newIntent(Intent.ACTION_DIAL,Uri.parse("tel:"+phoneNumber));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
2、跳转到联系人页面,使用一下代码:
IntentintentPhone=newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber));
startActivity(intentPhone);
❸ 安卓app拨号不转拨号界面怎么设置
创建一个Intent。
要实现拨号程序可能很简单,一个简单的Intent就能实现,从发出意图到真正实现拨号的代码中间还执行了很多其他方法,这都是android底层源码自动实现的,其中就包含了启动拨号的Activity。要想实现不弹出拨号界面就实现拨号,就必须绕过中间这些方法,直接调用framework层中的拨号方法。详情可以去看下别人写的android拨号流程,就可知道真正实现拨号的方法。
一开始是想通过反射调用底层方法,但是当初试过,好像不能实现,所以最后直接调用底层方法,由于android本身并未提供相关的类或方法,所以必须引用额外的jar包(将android源码编译打包成jar)。这里用的是某位大神将android2.2的部分源码编译成的jar包。