博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android101 获取、备份、插入短信
阅读量:6322 次
发布时间:2019-06-22

本文共 4046 字,大约阅读时间需要 13 分钟。

package com.itheima.getsms;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlSerializer;import com.itheima.getsms.domain.Message;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.ContentResolver;import android.database.Cursor;import android.util.Xml;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {    List
smsList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); smsList = new ArrayList
(); } //获取系统短信 public void click(View v){ //访问内容提供者获取短信 ContentResolver cr = getContentResolver(); // 短信内容提供者的主机名,sms是系统的短信数据库的内容提供者,sms/send表示查询发送的短信,不写表示所有短信。 Cursor cursor = cr.query(Uri.parse("content://sms"), new String[]{"address", "date", "body", "type"}, null, null, null); while(cursor.moveToNext()){ String address = cursor.getString(0); long date = cursor.getLong(1); String body = cursor.getString(2); String type = cursor.getString(3); Message sms = new Message(body, type, address, date); smsList.add(sms); } } //备份系统短信 public void click2(View v){ XmlSerializer xs = Xml.newSerializer(); File file = new File("sdcard/sms.xml");//短信备份的地方sd卡中 FileOutputStream fos; try { fos = new FileOutputStream(file); xs.setOutput(fos, "utf-8"); xs.startDocument("utf-8", true); xs.startTag(null, "message"); for (Message sms : smsList) { xs.startTag(null, "sms"); xs.startTag(null, "body"); xs.text(sms.getBody()); xs.endTag(null, "body"); xs.startTag(null, "date"); xs.text(sms.getDate() + ""); xs.endTag(null, "date"); xs.startTag(null, "type"); xs.text(sms.getType()); xs.endTag(null, "type"); xs.startTag(null, "address"); xs.text(sms.getAddress()); xs.endTag(null, "address"); xs.endTag(null, "sms"); } xs.endTag(null, "message"); xs.endDocument(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }//清单文件
//
package com.itheima.insertsms;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.ContentResolver;import android.content.ContentValues;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    //插入短信    public void click(View v){        Thread t = new Thread(){            @Override            public void run() {                try {                    sleep(7500);                } catch (InterruptedException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                ContentResolver cr = getContentResolver();                ContentValues values = new ContentValues();                values.put("address", 95555);                values.put("type", 1);                values.put("date", System.currentTimeMillis());//System.currentTimeMillis()是long类型                values.put("body", "您尾号为XXXX的信用卡收到1,000,000RMB转账,请注意查收");                cr.insert(Uri.parse("content://sms"), values);            }        };        t.start();    }    }//
//

 

转载地址:http://wzcaa.baihongyu.com/

你可能感兴趣的文章
【转】2012年7月9 – 知名网页游戏公司 PHP高级工程师 最新面试题
查看>>
purge
查看>>
数据库的增加与更新合并
查看>>
ArcGIS for Desktop入门教程_第八章_Desktop学习资源 - ArcGIS知乎-新一代ArcGIS问答社区...
查看>>
phpize php扩展模块安装
查看>>
authorization与URL授权
查看>>
JDK的目录结构及结构图
查看>>
值传递和引用传递-----函数参数传递的两种方式
查看>>
php随机密码函数的实例代码
查看>>
VC++中调用cmd的集中方式
查看>>
[LeetCode] Valid Word Abbreviation 验证单词缩写
查看>>
Shiro 学习笔记(二)——shiro身份验证
查看>>
JMeter 插件 Json Path 解析 HTTP 响应 JSON 数据(转)
查看>>
你不是真正的快乐
查看>>
201707舆情分析系统代码
查看>>
C#在自定义事件里传递自定义数据,使用EventArgs的姿势
查看>>
Memcached常用命令及使用说明
查看>>
Asp.net 前后台操作cookie 实现数据的循环下载
查看>>
MyGeneration学习笔记(9) :在WebService使用dOOdad时,对ToXml/FromXml的一点改进
查看>>
[开发笔记]MySQL & Python经验两则
查看>>