利用内容提供者插入sms(装B程序)

1、sms的权限配置

1 <uses-permission android:name="android.permission.READ_SMS"/>
2     <uses-permission android:name="android.permission.WRITE_SMS"/>

2、java代码

 1 package com.example.makeasms;
 2
 3 import android.net.Uri;
 4 import android.os.Bundle;
 5 import android.app.Activity;
 6 import android.content.ContentResolver;
 7 import android.content.ContentValues;
 8
 9 public class MainActivity extends Activity {
10
11     @Override
12     protected void onCreate(Bundle savedInstanceState) {
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.activity_main);
15
16         new Thread(){
17             public void run(){
18                 try{
19                     Thread.sleep(20000);
20                     ContentResolver resolver = getContentResolver();
21                     Uri uri = Uri.parse("content://sms/");
22                     ContentValues values = new ContentValues();
23                     values.put("address", "95535");
24                     values.put("type", 1);
25                     values.put("date", System.currentTimeMillis());
26                     values.put("body", "尊敬的xxx小姐,你目前已经有100000000000RMB!");
27                     resolver.insert(uri, values);
28                 }catch(Exception e){
29                     e.printStackTrace();
30                 }
31             };
32         }.start();
33
34     }
35
36 }
 1 package com.example.makeasms;
 2
 3 import android.net.Uri;
 4 import android.os.Bundle;
 5 import android.app.Activity;
 6 import android.content.ContentResolver;
 7 import android.content.ContentValues;
 8
 9 public class MainActivity extends Activity {
10
11     @Override
12     protected void onCreate(Bundle savedInstanceState) {
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.activity_main);
15
16         new Thread(){
17             public void run(){
18                 try{
19                     Thread.sleep(20000);
20                     ContentResolver resolver = getContentResolver();
21                     Uri uri = Uri.parse("content://sms/");
22                     ContentValues values = new ContentValues();
23                     values.put("address", "95535");
24                     values.put("type", 1);
25                     values.put("date", System.currentTimeMillis());
26                     values.put("body", "尊敬的xxx小姐,你目前已经有100000000000RMB!");
27                     resolver.insert(uri, values);
28                 }catch(Exception e){
29                     e.printStackTrace();
30                 }
31             };
32         }.start();
33
34     }
35
36 }
时间: 2024-12-29 09:32:38

利用内容提供者插入sms(装B程序)的相关文章

【android基础篇】利用内容提供者实现短信备份

I,准备工作 系统存储短信内容的目录为:/dada/dada/com.android.providers.telephony/databases/mmssms.db,我们找到对应的数据库文件. 我们可以发现该文件对于第三方而言,是不可读不可写的,这里则必须要使用内容提供者. 问题就来了:我不知道主机名,也就无法作为中间人去找证监会打探消息.其实,完全没有关系,我们可以翻阅安卓的源代码: \packages\providers\TelephonyProvider的清单文件,因为主机名都配置在清单文

Android 利用内容提供者添加联系人的操作

上文中<Android 获取系统的联系人>主要介绍了怎样获取系统联系人并实战了一下,本文将介绍如何添加一条联系人信息 添加联系人 1. 添加raw_contacts表,添加一条联系人的id 2. 操作data表,插入联系人的数据,每个联系人数据都对应一列 raw_contact_id 新建项目,布局文件代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns

Android基础笔记(十四)- 内容提供者读取联系人

利用内容提供者读取联系人 利用内容提供者插入联系人 内容观察者的原理 利用内容观察者监听系统应用数据库或者自己应用数据库的变化 利用内容提供者读取联系人 读取联系人相对于读取短信来说就复杂很多了,我们一步一步来吧. 先看看一下联系人的数据库,是位于什么地方! 既然很复杂,我们就一步步分析吧,我们把contacts2.db导出到电脑中,并使用SQLite数据库软件打开.你可以看到一大堆的表和视图,当然我们使用到的也只有三张.分别是raw_contacts.data.mimetypes分别存储着联系

Android基础笔记(十三)- 内容提供者原理和简单使用

为什么要有内容提供者 内容提供者的工作原理 使用内容解析者对内容提供者进行增删改查操作 利用内容提供者和内容解析者备份手机短信 利用内容提供者插入短信 为什么要有内容提供者 内容提供者技术的目的是: 把私有数据库的数据的内容暴露给外部使用: 我们知道,微信.QQ等应用都可以读取手机中联系人和短信的数据.而联系人和短信都是系统内置的应用,它们的数据都存储在相应的数据库中. 在com.android.provider.telephony/databases/mmssms.db就是短信的数据库,通过下

ContentProvider的自定义及SMS和CONTACTS的内容提供者

1.自定义内容提供者 首先创建extends ContentProvider的类 package com.txs.db; import android.content.ContentProvider; import android.content.ContentValues; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabas

Android10_内容提供者_内容观察者_标题栏

安卓四大组件Activity ,Service,BroadCastReceiver,ContentProvider(内容提供者) 1.1内容提供者的作用: 应用程序创建的数据库默认都是私有的,别的应用程序不可以访问里面的数据,如果有需求把自己应用程序私有的数据库暴露给别的用户增删改查,就需要使用内容提供者. 1.2 内容提供者的代码实现 在需要提供给它人数据的应用中 ①创建一个项目,并且创建数据库(数据库开启帮助类)(非必要) ②创建一个类,继承ContentProvider内容提供者, 内容提

(转)ContentProvider 内容提供者

1.1.  什么是内容提供者 内容提供者是Android中的四大组件之一,可以将应用中的数据对外进行共享 内容提供者将数据的访问方式统一,不必针对不同数据类型采取不同的访问策略 内容提供者将数据封装,只暴露出我们希望提供给其他程序的数据 内容提供者中数据更改可被监听 1.2.  创建内容提供者 定义类继承ContentProvider,根据需要重写内部方法    在清单文件的<application>节点下进行配置,<provider>标签中需要指定name和authorities

android开发 - Content Provider 内容提供者

内容提供者:对外共享数据,让应用间可以访问数据 所共享的数据是任意类型的,可以是数据库,xml,txt文件 统一了数据的访问方式 1.新建一个类,继承 ContentProvider,会重写父类的方法 public class PersonProvider extends ContentProvider { //当该类被实例化时被系统调用,只调用一次,一般用作数据初始化 @Override public boolean onCreate() { return false; } //允许外部应用程

Android学习笔记-----------内容提供者

Android学习笔记-----------内容提供者 简介 内容提供者主要用于在不同的程序之间实现数据共享的功能;一个程序想要访问其他程序种由内容提供者提供的数据,必须依赖于contentresolver这个类的实例,可以通过getContentResolver()这个方法来获取这个类的实例;这个类提供有query(),insert(),update(),delete()等方法来操作数据这些方法都需要提供个Uri类型的参数,这个Uri对应的就是你需要操作的数据引用.一个uri主要由以以下几个部