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() {
@Override
public 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" />
*/
}
};
@Override
protected 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);
}
@Override
public 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" />
加入位置为:
之后就可以实现功能了哈!!!