您的位置:首页 > 移动开发 > Android开发

android基础--拨打电话两种方式

2013-03-24 10:34 507 查看
android基础--拨打电话两种方式1.  首先在AndroidMenifest文件里加上这个权限:<uses-permission android:name="android.permission.CALL_PHONE" />2. 实现方式第一种方式:
Intent intent = new Intent(Intent.ACTION_DIAL);Uri data = Uri.parse("tel:" + "1872172xxxx");intent.setData(data);startActivity(intent);
这种方式的特点就是,去到了拨号界面,但是实际的拨号是由用户点击实现的。第二种方式:
Intent intent = new Intent(Intent.ACTION_CALL);Uri data = Uri.parse("tel:" + "1872172....");intent.setData(data);startActivity(intent);
这种方式的特点就是,直接拨打了你所输入的号码,所以这种方式对于用户没有直接的提示效果,Android推荐使用第一种方式,如果是第二种的话,建议在之前加一个提示,是否拨打号码,然后确定后再拨打。3. 异常现象
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.DIAL dat=15026536236 }at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1792)at android.app.Instrumentation.execStartActivity(Instrumentation.java:1512)at android.app.Activity.startActivityForResult(Activity.java:3810)at android.app.Activity.startActivityForResult(Activity.java:3761)at android.app.Activity.startActivity(Activity.java:4091)at android.app.Activity.startActivity(Activity.java:4059)
提示类找不到,出现此问题时候,要回去查找
Intent intent = new Intent(Intent.ACTION_CALL);Uri data = Uri.parse("tel:" + "1872172....");
这部分是否正确写法,否则就会报错。。我出错的代码是
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+ phone != null ? phone : tel));
导致此异常,,也有的人 会忘了写 uri.parse() 中的 tel : ,这些都不能忽略..请大家记住..代码规范。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: