本文实例讲述了Android编程实现的短信编辑器功能。分享给大家供大家参考,具体如下:

修改短信数据库,从而生成任意手机号发送的短信。
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dudon.fakesms">
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="短信发送者:"
android:textSize="18sp" />
<EditText
android:id="@+id/get_phone"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="7"
android:inputType="phone" />
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<EditText
android:id="@+id/get_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:hint="短信内容" />
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/get_time"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="添加当前时间" />
<Button
android:id="@+id/send_message"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="4"
android:text="发送短信" />
</LinearLayout>
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
private int phoneNum;
private String textSMS;
private String currentTime;
private Button sendMessage;
private Button getTime;
private EditText getPhone;
private EditText getMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//注册控件
sendMessage = (Button) findViewById(R.id.send_message);
getTime = (Button) findViewById(R.id.get_time);
getPhone = (EditText) findViewById(R.id.get_phone);
getMessage = (EditText) findViewById(R.id.get_message);
//获取当前时间
getTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textSMS = getMessage.getText().toString();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
Date curDate = new Date(System.currentTimeMillis());//获取当前时间
currentTime = formatter.format(curDate);
textSMS = textSMS + currentTime;
getMessage.setText(textSMS);
}
});
//发送短信
sendMessage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(getPhone.getText().toString())) {
Toast.makeText(MainActivity.this, "电话号码未填写", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(getMessage.getText().toString())) {
Toast.makeText(MainActivity.this, "短信内容未填写", Toast.LENGTH_SHORT).show();
return;
}
//获取电话号码和短信内容
phoneNum = Integer.parseInt(getPhone.getText().toString());
textSMS = getMessage.getText().toString();
//开启多线程
Thread thread = new Thread() {
@Override
public void run() {
ContentResolver resolver = getContentResolver();
ContentValues values = new ContentValues();
values.put("address", phoneNum);
values.put("type", 1);
values.put("date", System.currentTimeMillis());
values.put("body", textSMS);
resolver.insert(Uri.parse("content://sms"), values);
}
};
thread.start();
Toast.makeText(MainActivity.this, "短信成功生成", Toast.LENGTH_SHORT).show();
}
});
}
}
运行截图:
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android短信与电话操作技巧汇总》、《Android文件操作技巧汇总》、《Android编程之activity操作技巧总结》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# 短信
# 编辑器
# 获取Android手机中所有短信的实现代码
# Android短信接收监听、自动回复短信操作例子
# Android实现获取未接来电和未读短信数量的方法
# Android开发工程中集成mob短信验证码功能的方法
# Android Mms之:短信发送流程(图文详解)
# android中可以通过两种方式调用接口发送短信
# Android实现发送短信功能实例详解
# Android获取和读取短信验证码的实现方法
# 二个android模拟器互发短信程序演示
# Android实现自动提取短信验证码功能
# Android黑科技之读取用户短信+修改系统短信数据库
# android读取短信示例分享
# 操作技巧
# 短信内容
# 发送短信
# 未填写
# 进阶
# 相关内容
# 感兴趣
# 给大家
# 更多关于
# 所述
# 程序设计
# 多线程
# 操作方法
# 编程开发
# 短信发送
# 讲述了
# activity_main
# LinearLayout
# LAUNCHER
相关文章:
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
公众号网站制作网页,微信公众号怎么制作?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
建站之星多图banner生成与模板自定义指南
在线制作视频的网站有哪些,电脑如何制作视频短片?
c# await 一个已经完成的Task会发生什么
如何选择建站程序?包含哪些必备功能与类型?
如何用西部建站助手快速创建专业网站?
中山网站制作网页,中山新生登记系统登记流程?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
网站网页制作专业公司,怎样制作自己的网页?
高端建站三要素:定制模板、企业官网与响应式设计优化
如何快速完成中国万网建站详细流程?
如何快速生成专业多端适配建站电话?
如何在自有机房高效搭建专业网站?
利用JavaScript实现拖拽改变元素大小
宝塔新建站点为何无法访问?如何排查?
北京制作网站的公司,北京铁路集团官方网站?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
建站主机选哪家性价比最高?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
如何快速查询域名建站关键信息?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
Thinkphp 中 distinct 的用法解析
建站10G流量真的够用吗?如何应对访问高峰?
如何在阿里云ECS服务器部署织梦CMS网站?
在线制作视频网站免费,都有哪些好的动漫网站?
企业微网站怎么做,公司网站和公众号有什么区别?
如何访问已购建站主机并解决登录问题?
安云自助建站系统如何快速提升SEO排名?
制作营销网站公司,淘特是干什么用的?
如何快速搭建安全的FTP站点?
如何选择适合PHP云建站的开源框架?
制作门户网站的参考文献在哪,小说网站怎么建立?
想学网站制作怎么学,建立一个网站要花费多少?
如何高效利用200m空间完成建站?
建站之星下载版如何获取与安装?
建站之星展会模版如何一键下载生成?
如何制作网站标识牌,动态网站如何制作(教程)?
Android滚轮选择时间控件使用详解
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
如何在万网自助建站中设置域名及备案?
如何在阿里云域名上完成建站全流程?
如何安全更换建站之星模板并保留数据?
网站app免费制作软件,能免费看各大网站视频的手机app?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
如何在Windows虚拟主机上快速搭建网站?
建站主机服务器选购指南:轻量应用与VPS配置解析
建站之星后台密码遗忘?如何快速找回?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。