android studio 讀取短信

配置信息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 {

    @Override
    protected 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);
        }
        @Override
        public 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
在這裏插入圖片描述
就可以查到 信息

數據庫的位置
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章