Android短信发送器_08
1.string xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources> <string name="hello">Hello World, SmsActivity!</string>
<string name="app_name">短信发送器</string>
<string name="lab_number">请输入手机号</string>
<string name="lab_sms">请输短信内容</string>
<string name="lab_btn">发送短信</string>
<string name="sucess">发送成功</string> </resources>
2.mail xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/lab_number" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_number" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/lab_sms" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="3"
android:id="@+id/txt_sms" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lab_btn"
android:id="@+id/btn_ok"
/> </LinearLayout>
3.SmsActivity.java 代码
package FosgeIT.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; /*
*
* @author YinRQ
* 短信模拟器
* 2013-07-05 09:09:44
*/ public class SmsActivity extends Activity { //定义窗口元素
private EditText txt_number;
private EditText txt_sms;
private Button btn_ok; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //初始化控件
txt_number = (EditText) this.findViewById(R.id.txt_number);
txt_sms = (EditText) this.findViewById(R.id.txt_sms);
btn_ok = (Button) this.findViewById(R.id.btn_ok); btn_ok.setOnClickListener(new ButtonClickListener());
} private final class ButtonClickListener implements View.OnClickListener{ public void onClick(View v) {
String number = txt_number.getText().toString();
String sms = txt_sms.getText().toString(); //获取SmsManager
SmsManager manager=SmsManager.getDefault();
//如果内容大于70字,则拆分为多条
ArrayList<String> texts=manager.divideMessage(sms);
//逐条发送短信
for(String text:texts) {
manager.sendTextMessage(number, null, text, null, null);
}
//发送结果提示
Toast.makeText(SmsActivity.this,R.string.sucess, Toast.LENGTH_LONG).show(); }}
}
4.发送短信权限 AndroidManifest.xml文件
<uses-permission android:name="android.permission.SEND_SMS"/>
效果:
关于SmsManager
SDK中的介绍:Manages SMS operations such as sending data, text, and pdu SMS messages. Get this object by calling the static method SmsManager.getDefault().
方法:
public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)
destinationAddress: 收件人地址
scAddress: 短信中心号码,null为默认中心号码
sentIntent: 当消息发出时,成功或者失败的信息报告通过PendingIntent来广播。如果该参数为空,则发信程序会被所有位置程序检查一遍,这样会导致发送时间延长。
deliveryIntent: 当消息发送到收件人时,该PendingIntent会被广播。pdu数据在状态报告的extended data ("pdu")中。
如果收件人或者信息为空则抛出 IllegalArgumentException 。
public ArrayList<String> divideMessage (String text)
将大于70字的短信分割为多条。
参数:text the original message. Must not be null.
返回:an ArrayList of strings that, in order, comprise the original message
sendDataMessage 参数与上类似,只是用于发送Data。
sendMultipartTextMessage发送多条短信,发送内容必须是用divideMessage分割好了的。
Android短信发送器_08的更多相关文章
- Android短信发送器(2)
在上一篇的<Android短信发送器>当中.发送功能并不完好.当发送内容超过限定字数时,短信就会发送失败,此时就须要推断内容是否超过限制,假设不超过限制.就直接发送,反之.则对其进行处理再 ...
- 初识安卓小程序(Android短信发送器)
首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"短信发送器" 然后在res目录下找到layout目录,找到activity_main.xml或fragment_mai ...
- [android] 短信发送器
/*****************2016年4月23日 更新********************************/ 知乎:什么是 7 位元的字符? 英文字符难道不是 8 bit 是一个字 ...
- android短信发送器源代码
Activity类: import java.util.List;import android.app.Activity;import android.app.PendingIntent;import ...
- 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)
1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...
- Android实战--短信发送器
首先设计界面 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...
- android开发学习---开发一个简易的短信发送器
一.需求: 开发一个简易的短信发送器,输入:对方手机号码,短信内容,点击发送按钮,短信发送成功,对方手机成功收到短信. 其中要求短信内容过长时可以自动拆分,长度英文是160个英文,中文是70个,中英混 ...
- Android_简易的短信发送器
这个随笔将介绍如何完成一个简单的第三方的短信发送器(不打开短信界面,调用android的api完成功能) 1.首先,我们来做布局 由于我这里写的是一个简易的,,短信发送,所以只是一个LinearLay ...
- Android 短信的还原
上篇文章讲到<Android 短信的备份>,本文主要实现Android 短信的还原,即是将一条 布局文件: <RelativeLayout xmlns:android="h ...
随机推荐
- 使用 stretchableImageWithLeftCapWidth 方法实现可伸缩图片
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCap ...
- Adobe超分辨率算法:SRNTT
论文:Image Super-Resolution by Neural Texture Transfer 论文链接:https://arxiv.org/abs/1903.00834 项目地址:http ...
- Oracle创建directory
Oracle创建directory 一般创建directory都是为了用数据泵导入/导出数据用,其实directory还有很多别的用处,本文不做阐述 1.新建directory的语法 CREA ...
- 输入控件tagsinput
摘要: tagsinput是一款基于jQuery的插件.具有组织输入内容.校验.backspace删除等功能.当你在输入框输入结束按下enter键,tagsinput会将你输入的内容用标签封装,每 ...
- python concurrent.futures包使用,捕获异常
concurrent.futures的ThreadPoolExecutor类暴露的api很好用,threading模块抹油提供官方的线程池.和另外一个第三方threadpool包相比,这个可以非阻塞的 ...
- Java使用泛型实现栈结构
泛型是Java SE5.0的重要特性,使用泛型编程可以使代码获得最大的重用.由于在使用泛型时要指明泛型的具体类型,这样就避免了类型转换.本实例将使用泛型来实现一个栈结构,并对其进行测试. 思路分析:既 ...
- 5 -- Hibernate的基本用法 --4 2 hibernate.properties文件与hibernate.cfg.xml文件
hibernate.properties : project\etc\hibernate.properties hibernate.cfg.xml : project\etc\hibernate.cf ...
- ios开发之--理解NSStringDrawingOptions每个选项的用法与意义
typedef NS_OPTIONS(NSInteger, NSStringDrawingOptions) { NSStringDrawingUsesLineFragmentOrigin = < ...
- 【Python 爬虫系列】从某网站下载小说《鬼吹灯》,正则解析html
import re import urllib.request import urllib.parse import urllib.error as err import time # 下载 seed ...
- httpClient创建对象、设置超时
从老版本和新版本进行比较说明: 1.创建HttpClient对象 3.X: HttpClient httpClient = new DefaultHttpClient(); 4.3: Closeabl ...