欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android studio 读取短信

程序员文章站 2022-03-11 15:45:06
...

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

android studio 读取短信
android studio 读取短信
打开之后,我们打开 写的 myapplication
并且用虚拟机发送信息

android studio 读取短信
然后查看logcat 中debug
android studio 读取短信
就可以查到 信息

数据库的位置
android studio 读取短信
android studio 读取短信
android studio 读取短信
android studio 读取短信
android studio 读取短信

相关标签: android studio