1. 使用NotificationListenerService获得收到的短信内容
2. 清除通知栏通知(手机已Root的情况下)
```
Process process = Runtime.getRuntime().exec("su");
DataOutputStream dataOutputStream =new DataOutputStream(process.getOutputStream());
dataOutputStream.writeBytes("service call notification 1\n");
dataOutputStream.flush();
dataOutputStream.writeBytes("exit\n");
dataOutputStream.close();
```
3. 复制mmssms.db到内置存储目录, 进行修改, 然后复制回系统目录 (Android 4.4更改文件权限后可直接在data目录进行数据库修改, 但8.0后不行, 即使已经更改了文件权限)
需要用到的库:RootTools.jar
```
String a ="/data/user_de/0/com.android.providers.telephony/databases/mmssms.db";
String b ="Environment.getExternalStorageDirectory().getAbsolutePath() +"/OCR/mmssms.db";
RootTools.copyFile(a, b,true,true);//复制到指定目录
String sql ="delete from sms where address=?";//开始修改 //删除语句
SQLiteDatabase sQLiteDatabase = SQLiteDatabase.openOrCreateDatabase(dbFile,null);//打开指定路径的db文件
sQLiteDatabase.execSQL(sql,new String[]{number});
sQLiteDatabase.close();
RootTools.copyFile(b, a,true,true);//修改完成后复制回去
```
(谁能告诉我为什么简书的编辑器这么难用, 字体大小设置不了, 插入代码块无效, 好多空行删除不了...)