linux手机拨号打电话,Android拨打电话

每一个Android设备特别是手机都提供一个拨打电话功能,但仍然需要编写一个应用程序,给用户一个选择使用硬编码的电话号码拨打电话。

本章列出了一个简单的步骤来创建一个应用程序,它可以用来拨打电话。使用 Android 的 Intent 通过调用Android内置的电话通话功能。以下部分说明 Intent 对象的拨打电话功能 。

Intent 对象 - 操作拨打电话

使用 ACTION_CALL 动作触发Android设备内置电话功能。以下是简单的语法用来创建一个Intent 的 ACTION_CALL 动作

IntentphoneIntent=newIntent(Intent.ACTION_CALL);

可以使用 ACTION_DIAL 动作,而不是 ACTION_CALL,在这种情况下,在使用选项来修改硬编码的电话号码拨打电话之前,而不是直接调用的。

Intent 对象 - 数据/电话呼叫类型

这里给定电话为 13800138000 拨打一个电话,需要使用setData()方法指定URI为  tel:如下:

phoneIntent.setData(Uri.parse("tel:13800138000"));

要注意的一点是,拨打电话不需要任何额外的数据或数据类型指定。

示例

下面的示例演示如何在实际使用 Android Intent 打电话给定的手机号码。

要尝试这个例子中,需要实际配备了最新的 Android OS 移动设备,否则仿真器可能无法正常工作。

步骤

描述

1

使用Android Studio创建Android应用程序,并将它命名为PhoneCallDemounder。创建这个项目,确保目标 SDK编译在 Android SDK 的最新版本或使用更高级别的API

2

修改 src/MainActivity.java 文件,并添加所需的代码,以拨打电话

3

修改所需的布局XML文件 res/layout/activity_main.xml 添加GUI组件。添加一个简单的按钮来拨打号码:13800138000

4

修改  res/values/strings.xml  定义所需的常数值

5

修改 AndroidManifest.xml 如下所示

6

运行该应用程序启动 Android模拟器并验证应用程序所做的修改结果

以下是修改主活动文件 src/com.yiibai.phonecalldemo/MainActivity.java 的内容如下:

packagecom.yiibai.phonecalldemo;importandroid.net.Uri;importandroid.os.Bundle;importandroid.app.Activity;importandroid.content.Intent;importandroid.util.Log;importandroid.view.Menu;importandroid.view.View;importandroid.widget.Button;importandroid.widget.Toast;publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ButtonstartBtn=(Button)findViewById(R.id.makeCall);startBtn.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewview){makeCall();}});}protectedvoidmakeCall(){Log.i("Make call","");IntentphoneIntent=newIntent(Intent.ACTION_CALL);phoneIntent.setData(Uri.parse("tel:91-800-001-0101"));try{startActivity(phoneIntent);finish();Log.i("Finished making a call...","");}catch(android.content.ActivityNotFoundExceptionex){Toast.makeText(MainActivity.this,"Call faild, please try again later.",Toast.LENGTH_SHORT).show();}}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main,menu);returntrue;}}

下面是 res/layout/activity_main.xml 文件的内容:

下面文件 res/values/strings.xml 的内容中定义两个新的常量:

<?xml version="1.0"encoding="utf-8"?>PhoneCallDemoHello world!SettingsCall 91-800-001-0101

以下是AndroidManifest.xml 文件的默认内容:

我们尝试运行PhoneCallDemo 应用程序。Eclipse AVD安装的应用程序,并启动它,如果一切设置和应用代码都没有问题,它会显示以下模拟器窗口:

dced5776fca0b4adaa1ab7afd01c040c.png

选择移动设备作为一个选项,然后检查移动设备,这将显示以下画面:

c1541a67fa33ca85d26de03d2951f762.png

现在使用按钮拨打138001380000,如下所示:

5562e80a5fc87670a6e987b32bb21e41.png

以上代码下载: http://pan.baidu.com/s/1hq1RSuK

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值