android中如何发送短信、接收短信
2016-01-22 21:13
627 查看
创建一个新工程LearnSendSMS |
发短信部分代码 |
在androidManifest.xml中添加发送短信的权限代码 |
<uses-permissionandroid:name="android.permission.WRITE_SMS"/> <uses-permissionandroid:name="android.permission.SEND_SMS"/> |
Activity_main.xml代码如下: |
<?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent" android:layout_height="match_parent"android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#ffcecbff" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin"tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:text="写一个新消息" android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/textViewPhoneNumber" android:text="电话号码" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <EditText android:id="@+id/editTextPhoneNo" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="phone" android:hint="输入电话号码如:13959556666"/> <TextView android:id="@+id/textViewMessage" android:text="短信内容" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <EditText android:id="@+id/editTextSMS" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textMultiLine" android:hint="请输入要发送的短信内容" android:text="测试发送的短信内容"/> <Button android:layout_gravity="center_horizontal" android:id="@+id/btnSendSMS" android:text="发送" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> |
MainActivity.java的代码 |
packagecom.czg.com.learnsendsms; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.telephony.SmsManager; importandroid.view.View; importandroid.widget.Button; importandroid.widget.EditText; importandroid.widget.Toast; publicclassMainActivityextendsAppCompatActivity{ ButtonsendSmsBtn; EditTexttoPhoneNumber; EditTextsmsMessageET; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sendSmsBtn=(Button)findViewById(R.id.btnSendSMS); toPhoneNumber=(EditText)findViewById(R.id.editTextPhoneNo); smsMessageET=(EditText)findViewById(R.id.editTextSMS); sendSmsBtn.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ sendSms(); } }); } privatevoidsendSms(){ StringtoPhone=toPhoneNumber.getText().toString(); StringsmsMessage=smsMessageET.getText().toString(); try{ SmsManagersmsManager=SmsManager.getDefault(); smsManager.sendTextMessage(toPhone,null,smsMessage,null,null); Toast.makeText(this,"短信已发送",Toast.LENGTH_LONG).show(); }catch(Exceptione){ e.printStackTrace(); } } } |
收短信部分代码 |
创建一个SmsBroadcastReceiver广播接收器用于接收系统发出收到短信的广播 |
SmsBroadcastReceiver.java |
packagecom.czg.com.learnsendsms; |
在androidManifest.xml中添加收短信的权限代码 |
<uses-permissionandroid:name="android.permission.READ_SMS"/> |
在androidManifest.xml中注册广播接收器 |
<receiverandroid:name=".SmsBroadcastReceiver" |
相关文章推荐
- Android Studio - Cannot reload AVD list (d:skin)
- android 签名验证防止重打包
- Android 沉浸式状态栏的三种实现方式
- Android通过hook技术实现透明加解密保障数据安全
- Android事件构成
- Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
- Android Support Annotations :安卓注解快速上手
- Android View绘制流程
- android开发遇到问题之一
- android散点技术
- android高级技术之相机的前后摄像头切换
- Android使用ViewPager实现图片轮播(高度自适应,左右循环,自动轮播)
- Android 线程池来管理线程
- Android radioButton布局及监听
- Android 通知栏的使用
- BLE Android开发中的问题
- Android中Context用法详解
- Android性能优化之常见的内存泄漏
- Android Button2.监听事件
- Android Context 上下文或者叫做场景