Android之短信发送器
16lz
2022-05-22
虽然手机内置了短信发送器,但是有时候为了特定的需求项目可能需要自己设计的短信发送器,下面是一个发送短信的小例子
首先是布局文件main.xml
接着是资源文件strings.xml
最后是处理响应的Activity
还有记得要在清单文件AndroidManifest.xml中注册发送短信的权限
首先是布局文件main.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/hello" /> <EditTextandroid:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/mobileCode" /><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/content" /> <EditTextandroid:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="4" android:id="@+id/messageContent" /><Buttonandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/sendButton"/></LinearLayout>
接着是资源文件strings.xml
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">请输入对方电话号码</string> <string name="app_name">发送短信</string> <string name="button">发送</string> <string name="content">请输入短信内容</string> <string name="status">发送成功</string></resources>
最后是处理响应的Activity
package com.lamp.activity;import java.util.List;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 SMSActivity extends Activity {public EditText mobileText = null;public EditText contentText = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mobileText = (EditText)this.findViewById(R.id.mobileCode); contentText = (EditText)this.findViewById(R.id.messageContent); Button button = (Button)this.findViewById(R.id.sendButton); button.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {String mobile = mobileText.getText().toString();String content = contentText.getText().toString();SmsManager sms = SmsManager.getDefault();//当信息长度超过40个字符,分多次发送if(content.length() > 40){List<String> contents = sms.divideMessage(content);for(String text : contents){sms.sendTextMessage(mobile, null, text, null, null);}}else{sms.sendTextMessage(mobile, null, content, null, null);}//信息发送完后的提示信息Toast.makeText(SMSActivity.this, R.string.status, Toast.LENGTH_SHORT).show();}}); }}
还有记得要在清单文件AndroidManifest.xml中注册发送短信的权限
<!-- 注册发送短信的权限 --><uses-permission android:name="android.permission.SEND_SMS" />
更多相关文章
- Android(安卓)launcher -- launcher源码修改 1
- 大家一起讨论简称论-关于简单Selector的制作与使用 (Production a
- 关于Android的app权限申请问题
- android 背景平铺[转]
- Android(安卓)AIDL 实例
- Android(安卓)studio 真机调试时生成的文件找不到的解决方案
- android 权限大全
- Android(安卓)获取通话记录和短信内容
- NPM 和webpack 的基础使用