Android黑科技之读取用户短信+修改系统短信数据库

2019-12-10 19:36:19丽君

要读取手机短信和插入短信,还必须加上一下权限:

<uses-permission android:name="android.permission.READ_SMS"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

下面来分析一下代码:第一个按钮通过ContentProvider间接获取了一些短信的信息,保存在一个List数组下。我们先导出Android系统的sms表看一下:

 Android黑科技之读取用户短信+修改系统短信数据库

总共有17个字段这么多,显然不是我们都关心的,这里只要了address,date, body, type四个字段,分别表示对方号码,短信时间,短信内容,发送还是接收。第二个按钮把短信相关信息存储在一个序列化的XML文件中,方便查看。 

放上XML截图:

 Android黑科技之读取用户短信+修改系统短信数据库

可以看出此时手机上共有5条短信,大功告成。

修改系统短信数据库

         真正的黑科技来了,相信大家知道有些不法分子能冒充各种号码发布虚假信息,如10086啥的,下面示范一下用95533(建行)发送一条愚人节贺卡。

         代码如下:

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() {
        ContentResolver cr = getContentResolver();
        ContentValues values = new ContentValues();
        values.put("address", 95533);
        values.put("type", 1);
        values.put("date", System.currentTimeMillis());
        values.put("body", "您尾号为9999的信用卡收到1,000,000RMB转账,请注意查收");
        cr.insert(Uri.parse("content://sms"), values);
      }
    };
    t.start();
  }
}