Android用Intent实现拨号

自己闲来无事,做了一个Android的拨号程序,此文比较适合初学者

功能简单就是一个EditText输入号码,和一个按钮实现拨打

activity_main.xml中添加

 <Button     android:id="@+id/btn1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignBottom="@+id/editText1"     android:layout_alignParentRight="true"     android:text="Button" /> <EditText     android:id="@+id/editText1"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_alignParentBottom="true"     android:layout_toLeftOf="@+id/btn1"     android:ems="10"    >     <requestFocus /> </EditText>

然后下面是MainActivity.java文件

package com.example.helloworld;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.graphics.Color;import android.text.Html;import android.text.Spannable;import android.text.SpannableStringBuilder;import android.text.style.ForegroundColorSpan;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewDebug.IntToString;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity {private Button btn1=null;private EditText edt1=null;private OnClickListener btnListener=new OnClickListener() {@Overridepublic void onClick(View arg0) {//创建一个Intent对象                         Intent intent=new Intent();                       //为对象设置一个拨号动作                         intent.setAction(Intent.ACTION_CALL);                      //从文本框中获取电话号码                        String strPhoneNum=edt1.getText().toString();                     //添加就是执行动作要操作的数据                      intent.setData(Uri.parse("tel:"+strPhoneNum));                      //启动                        MainActivity.this.startActivity(intent);                  /*     b.按同样的方法我们可以实现发送短信的功能                     //添加动作,为发送短信                      intent.setAction(Intent.ACTION_SENDTO);                    //添加就是执行动作要操作的数据,smsto:phonNumber中的phoneNumber指的是要送对象的电话号码                     intent.setData(Uri.parse("smsto:5554"));                      //设置发送信息                     intent.putExtra("sms_body", "这是我发出的信息");           然后要获得发短信权限在AndroidManifest.xml文件中的</application>下面加入                    <uses-permission android:name="android.permission.SEND_SMS" />                 */}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn1=(Button)findViewById(R.id.btn1);btn1.setOnClickListener(btnListener);edt1=(EditText)findViewById(R.id.editText1);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

上面的工作做完之后并不能启动拨号程序,因为出于系统的安全性考虑我们还要获得拨号程序的权限

我们需要在AndroidManifest.xml文件中加入

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

加入位置为:

之后就可以实现功能了哈!!!

更多相关文章

  1. Android(安卓)调用打电话和发短信功能
  2. Android(安卓)通过包名打开App的代码
  3. android jUnit test 进行自动化测试
  4. Android之——AIDL小结
  5. TextView IME option
  6. Android(安卓)完全退出应用程序back和home键
  7. Android中利用Handler实现消息的分发机制(一)
  8. 使用Android-PullToRefresh实现下拉刷新功能
  9. Android(安卓)进阶——Framework 核心四大组件之跨进程共享组件C

随机推荐

  1. Android对View进行截图并保存到本地相册
  2. 众多Android(安卓)开源项目推荐,给力工作
  3. Android开发:APP引导页启动页小Demo(实例)
  4. Android事件分发机制以及滑动冲突处理
  5. 2011年,移动互联网加速蔓延 – 来自2011移
  6. Andorid Studio NDK开发-编译OpenSSL类库
  7. Android中的inflate()原理解析
  8. 关于android多任务同时下载的一点心得
  9. ListView页眉页脚效果VS android背景渐变
  10. Android在中国风光无限反衬了什么?