Andriod使用Intent实现拨号
16lz
2021-01-25
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" />
加入位置为:
之后就可以实现功能了哈!!!
更多相关文章
- Android(安卓)调用打电话和发短信功能
- Android(安卓)通过包名打开App的代码
- android jUnit test 进行自动化测试
- Android之——AIDL小结
- TextView IME option
- Android(安卓)完全退出应用程序back和home键
- Android中利用Handler实现消息的分发机制(一)
- 使用Android-PullToRefresh实现下拉刷新功能
- Android(安卓)进阶——Framework 核心四大组件之跨进程共享组件C