配置信息manifes中加入权限
<uses-permission android:name="android.permission.READ_SMS"/><uses-permission android:name="android.permission.RECEIVE_SMS"/><uses-permission android:name="android.permission.SEND_SMS"/>
之后main函数中 的代码
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);getContentResolver().registerContentObserver(Uri.parse("content://sms"),true,new MyObserver(new Handler()));}private final class MyObserver extends ContentObserver {public MyObserver(Handler handler){super(handler);}@Overridepublic void onChange(boolean selfChange) {Cursor cursor=getContentResolver().query(Uri.parse("content://sms/inbox"),null,null,null,null);while (cursor.moveToNext()){StringBuilder sb=new StringBuilder();sb.append("address=").append(cursor.getString(cursor.getColumnIndex("address")));sb.append(";subject").append(cursor.getString(cursor.getColumnIndex("subject")));sb.append(";body").append(cursor.getString(cursor.getColumnIndex("body")));sb.append(";time").append(cursor.getLong(cursor.getColumnIndex("date")));System.out.println("用户发送出去的信息"+sb.toString());}}}}
在虚拟机中 开启sms权限
打开之后,我们打开 写的 myapplication
并且用虚拟机发送信息
然后查看logcat 中debug
就可以查到 信息
数据库的位置