首页 > 系统 > Android > 正文

Android开发之电话拨号器和短信发送器实现方法

2020-04-11 11:08:27
字体:
来源:转载
供稿:网友

本文实例讲述了Android开发之电话拨号器和短信发送器实现方法。分享给大家供大家参考,具体如下:

电话拨号器

实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了。

步骤:

1.界面布局
2.编写Activity
3.使用意图过滤器激活电话拨号功能
4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限)

如图所示这三个控件是垂直摆放的,所以要使用线性布局来搁置显示控件

效果图:

界面布局:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent"   >   <!--提示信息-->   <TextView    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="@string/Mobile"   />    <!--文本框按钮-->   <EditText   android:layout_width="fill_parent"    android:layout_height="wrap_content"   android:id="@+id/moblie"   />   <!--拨号按钮 -->   <Button   android:layout_width="wrap_content"    android:layout_height="wrap_content"   android:text="@string/button"   android:id="@+id/button"   /> </LinearLayout> 

Activity:

package cn.test.phone; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity {   @Override   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);     //根据控件的id查找到按钮控件     Button button =(Button)this.findViewById(R.id.button);     button.setOnClickListener(new ButtonClickLister());  //点击事件的处理对象   }   //监听对象实现拨打功能   private class ButtonClickLister implements View.OnClickListener{     public void onClick(View v){       EditText mobileText=(EditText)findViewById(R.id.moblie);       String moblie=mobileText.getText().toString(); //获取到用户输入的时间       Intent intent =new Intent();       intent.setAction("android.intent.action.CALL");       intent.setData(Uri.parse("tel:"+moblie));       //根据意图过滤器参数激活电话拨号功能       startActivity(intent);     }   } }

添加电话服务权限:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="cn.itcast.action"    android:versionCode="1"    android:versionName="1.0">    略....   <uses-sdk android:minSdkVersion=“6" />   <!-- 电话服务权限 -->   <uses-permission android:name="android.permission.CALL_PHONE"/> </manifest>

短信发送器

短信发送器和电话拨号器步骤差不多,需要注意的是当获取到短信内容时,如果短信内容非常多需要对短信内容进行拆分,拆分后存到集合里,对短信内容多条发送

效果图:

界面布局:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent"   >   <!--显示控件-->   <TextView    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="@string/moblie"   />   <!--文本框按钮-->   <EditText   android:layout_width="fill_parent"    android:layout_height="wrap_content"   android:id="@+id/moblie"   />   <TextView    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="@string/content"   />   <EditText   android:layout_width="fill_parent"    android:layout_height="wrap_content"   android:minLines="3"   android:id="@+id/content"   />   <Button   android:layout_width="wrap_content"    android:layout_height="wrap_content"   android:text="@string/button"   android:id="@+id/button"   /> </LinearLayout> 

Activity:

package cn.test.sms; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.telephony.SmsManager; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity {   @Override   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);     Button button =(Button)this.findViewById(R.id.button);     button.setOnClickListener(new ButtonClickLister());  //点击事件的处理对象   }   //监听对象实现拨打功能   private class ButtonClickLister implements View.OnClickListener{     public void onClick(View v){       EditText moblieText=(EditText)findViewById(R.id.moblie);       EditText contentText=(EditText)findViewById(R.id.content);       String moble =moblieText.getText().toString();//获取电话号       String content =contentText.getText().toString();//获取短信内容       SmsManager smsManager=SmsManager.getDefault();//获得短信管理器       ArrayList<String> texts=smsManager.divideMessage(content);//对短信内容进行拆分       for(String text:texts){         smsManager.sendTextMessage(moble, null, text, null, null);  //短信发送       }         //采用吐西方式提示用户发送成功       Toast.makeText(getApplicationContext(), R.string.success, 1).show();     }   } }

添加短信服务权限:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="cn.itcast.action"    android:versionCode="1"    android:versionName="1.0">    略....   <uses-sdk android:minSdkVersion="8" />   <!-- 短信服务权限 -->   <uses-permission android:name="android.permission.SEND_SMS" /> </manifest> 

希望本文所述对大家Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表