首页 > 代码库 > Android实现电话拨号器和短信发送器
Android实现电话拨号器和短信发送器
电话拨号器和短信发送器是Android初学者很好的练习项目,今天就找了两个写得很不错的例子学习下
电话拨号器
实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了。
步骤:
1.界面布局
2.编写Activity
3.使用意图过滤器激活电话拨号功能
4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限)
如图所示这三个控件是垂直摆放的,所以要使用线性布局来搁置显示控件
效果图:
界面布局:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent" 6 > 7 <!--提示信息--> 8 <TextView 9 android:layout_width="fill_parent" 10 android:layout_height="wrap_content" 11 android:text="@string/Mobile"12 />13 <!--文本框按钮-->14 <EditText15 android:layout_width="fill_parent" 16 android:layout_height="wrap_content"17 android:id="@+id/moblie"18 />19 <!--拨号按钮 -->20 <Button21 android:layout_width="wrap_content" 22 android:layout_height="wrap_content"23 android:text="@string/button"24 android:id="@+id/button"25 />26 </LinearLayout>
Activity:
1 package cn.test.phone; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.EditText;10 11 public class MainActivity extends Activity {12 @Override13 public void onCreate(Bundle savedInstanceState) {14 super.onCreate(savedInstanceState);15 setContentView(R.layout.main);16 //根据控件的id查找到按钮控件17 Button button =(Button)this.findViewById(R.id.button);18 button.setOnClickListener(new ButtonClickLister()); //点击事件的处理对象19 }20 //监听对象实现拨打功能21 private class ButtonClickLister implements View.OnClickListener{22 public void onClick(View v){23 EditText mobileText=(EditText)findViewById(R.id.moblie);24 String moblie=mobileText.getText().toString(); //获取到用户输入的时间25 Intent intent =new Intent();26 intent.setAction("android.intent.action.CALL");27 intent.setData(Uri.parse("tel:"+moblie));28 //根据意图过滤器参数激活电话拨号功能29 startActivity(intent);30 }31 }32 }
添加电话服务权限:
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="cn.itcast.action" 4 android:versionCode="1" 5 android:versionName="1.0"> 6 略.... 7 <uses-sdk android:minSdkVersion=“6" /> 8 <!-- 电话服务权限 --> 9 <uses-permission android:name="android.permission.CALL_PHONE"/>10 </manifest>
短信发送器
短信发送器和电话拨号器步骤差不多,需要注意的是当获取到短信内容时,如果短信内容非常多需要对短信内容进行拆分,拆分后存到集合里,对短信内容多条发送
效果图:
界面布局:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent" 6 > 7 <!--显示控件--> 8 <TextView 9 android:layout_width="fill_parent" 10 android:layout_height="wrap_content" 11 android:text="@string/moblie"12 />13 <!--文本框按钮-->14 <EditText15 android:layout_width="fill_parent" 16 android:layout_height="wrap_content"17 android:id="@+id/moblie"18 />19 <TextView 20 android:layout_width="fill_parent" 21 android:layout_height="wrap_content" 22 android:text="@string/content"23 />24 <EditText25 android:layout_width="fill_parent" 26 android:layout_height="wrap_content"27 android:minLines="3"28 android:id="@+id/content"29 />30 <Button31 android:layout_width="wrap_content" 32 android:layout_height="wrap_content"33 android:text="@string/button"34 android:id="@+id/button"35 />36 </LinearLayout>
Activity:
1 package cn.test.sms; 2 import java.util.ArrayList; 3 4 import android.app.Activity; 5 import android.os.Bundle; 6 import android.telephony.SmsManager; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.EditText;10 import android.widget.Toast;11 12 public class MainActivity extends Activity {13 @Override14 public void onCreate(Bundle savedInstanceState) {15 super.onCreate(savedInstanceState);16 setContentView(R.layout.main);17 Button button =(Button)this.findViewById(R.id.button);18 button.setOnClickListener(new ButtonClickLister()); //点击事件的处理对象19 }20 //监听对象实现拨打功能21 private class ButtonClickLister implements View.OnClickListener{22 public void onClick(View v){23 EditText moblieText=(EditText)findViewById(R.id.moblie);24 EditText contentText=(EditText)findViewById(R.id.content);25 String moble =moblieText.getText().toString();//获取电话号26 String content =contentText.getText().toString();//获取短信内容27 SmsManager smsManager=SmsManager.getDefault();//获得短信管理器28 ArrayList<String> texts=smsManager.divideMessage(content);//对短信内容进行拆分29 for(String text:texts){30 smsManager.sendTextMessage(moble, null, text, null, null); //短信发送31 }32 //采用吐西方式提示用户发送成功33 Toast.makeText(getApplicationContext(), R.string.success, 1).show();34 }35 }36 }
添加短信服务权限:
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="cn.itcast.action" 4 android:versionCode="1" 5 android:versionName="1.0"> 6 略.... 7 <uses-sdk android:minSdkVersion="8" /> 8 <!-- 短信服务权限 --> 9 <uses-permission android:name="android.permission.SEND_SMS" />10 </manifest>
原文转自:http://blog.csdn.net/furongkang/article/details/6802074
Android实现电话拨号器和短信发送器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。