获取手机短信内容 显示
1.首先获取内容访问者,获取短信uri,content://sms/inbox,然后得到短信内容,然后用一个集合保存数据,配置一个
适配器显示在页面
实现代码
public class MainDuanxin extends AppCompatActivity {
private ContentResolver cr;
private List<String> datas=new ArrayList<>();
private ListView listview02;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cr = getContentResolver();
listview02 = (ListView) findViewById(R.id.listview02);//ListView
}
//获取短信内容
public void duanxin(View view) {
cr=getContentResolver();
//获取短信提供者的uri
Uri uri=Uri.parse("content://sms/inbox");
Cursor cursor=cr.query(uri,null,null,null,null);
while (cursor.moveToNext()){
//获取短信的内容
datas.add(cursor.getString(cursor.getColumnIndex("body"))); //短信内容
}
//设置适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,datas);
//添加设配器
listview02.setAdapter(adapter);
}
}
2.短信权限(AndroidManifest.xml中)
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>