1. 首先在AndroidMenifest文件里加上这个权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
2. 实现方式
第一种方式:
这种方式的特点就是,去到了拨号界面,但是实际的拨号是由用户点击实现的。
第二种方式:
这种方式的特点就是,直接拨打了你所输入的号码,所以这种方式对于用户没有直接的提示效果,Android推荐使用第一种方式,如果是第二种的话,建议在之前加一个提示,是否拨打号码,然后确定后再拨打。
3. 异常现象
提示类找不到,出现此问题时候,要回去查找
这部分是否正确写法,否则就会报错。。
我出错的代码是
导致此异常,,
也有的人 会忘了写 uri.parse() 中的 tel : ,这些都不能忽略..
请大家记住..代码规范。
3. 原来项目
PermissionUtil.getInstance().requestPermission(context, new String[]{Manifest.permission.CALL_PHONE}, PermissionUtil.HOTLINE_CODE, new PermissionUtil.PermissionResultCallBack() {
@Override
public void onPermissionGranted() {
String mServerTel = new SharedPreUtils(context, SPConstants.SHARE_NAME_SETTINGS).getString(SPConstants.KEY_SERVICE_TEL, "133××××6666");
try {
context.startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + mServerTel)));
} catch (SecurityException e) {
}
}
});
会弹出Pemission:是否允许打电话权限
4. 现在项目
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + "133××××6666"));
startActivity(intent);