通过ContentProvider实现获取手机中的短息内容
来源:互联网 发布:显卡驱动升级软件 编辑:程序博客网 时间:2024/04/28 17:09
以下是我通过ContentProvider实现的获取的手机中的短息内容和发送人的电话号码,通过ListView遍历了短信的内容
首先展示下获取的短信内容
在清单文件中配置获取的短信的权限
<!--读取手机短信权限--> <uses-permission android:name="android.permission.READ_SMS"></uses-permission> <uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>
activity_message.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_message" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.g150825_resolver.MessageActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="readSMS" android:text="读取手机短信" /> <ListView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/lv_main_list" > </ListView></LinearLayout>
MessageActivity.java
package com.example.g150825_resolver;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.util.Log;import android.view.View;import android.widget.ListView;import android.widget.SimpleAdapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MessageActivity extends AppCompatActivity { private ListView lv_main_list; private SimpleAdapter sa; private List<Map<String, Object>> data; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_message); //得到ListView lv_main_list = (ListView) findViewById(R.id.lv_main_list); data =new ArrayList<Map<String,Object>>(); //配置适配置器S sa = new SimpleAdapter(this,data,android.R.layout.simple_list_item_2,new String[]{"names","message"},new int[]{android.R.id .text1,android.R.id.text2}); lv_main_list.setAdapter(sa); } public void readSMS(View view) { //读取所有短信 Uri uri=Uri.parse("content://sms/"); ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query(uri, new String[]{"_id", "address", "body", "date", "type"}, null, null, null); if(cursor!=null&&cursor.getCount()>0){ int _id; String address; String body; String date; int type; while (cursor.moveToNext()){ Map<String, Object> map=new HashMap<String, Object>(); _id=cursor.getInt(0); address=cursor.getString(1); body=cursor.getString(2); date=cursor.getString(3); type=cursor.getInt(4); map.put("names",body); Log.i("test","_id="+_id+" address="+address+" body="+body+" date="+date+" type="+type); data.add(map); //通知适配器发生改变 sa.notifyDataSetChanged(); } } }}
以上是简单的获取手机短信内容的代码,有其他意见的,可以一起交流
2 0
- 通过ContentProvider实现获取手机中的短息内容
- 通过ContentProvider实现获取手机联系人
- ContentProvider获取手机联系人
- ContentProvider获取手机联系人
- 获取手机联系人(Contentprovider)
- Android-contentprovider 获取手机联系人
- ContentProvider之获取手机联系人
- 通过ContentResolver获取手机中的联系人信息
- Android通过ContentProvider获取通话记录
- 通过代码实现获取手机CPU信息
- 通过内容提供器获取手机联系人信息
- 通过内容提供者获取手机上的音乐资源
- 安卓使用ContentProvider实现读取手机联系人和短信内容
- 安卓使用ContentProvider实现读取手机联系人和短信内容
- 通过ContentProvider拿到手机所有短信
- 通过ContentProvider得到手机联系人 ListView显示
- Android -ContentProvider之获取手机联系人
- Android:ContentProvider获取手机联系人列表
- STL vector 的使用算法
- 类名.this的使用
- Jungle Games slot, sky3888 slot game, sky3888 slot machine, sky3888 top up
- LruCache的用法和源码的详解
- 获取手机联系人信息
- 通过ContentProvider实现获取手机中的短息内容
- NYOJ-228 士兵杀敌(五) (思维)
- 翻转二叉树
- Oracle Study--Oracle SQL执行计划查看(MindMap)
- 系统分区与格式化
- [Polya计数] SPOJ 422 TRANSP2
- MyBatis入门
- 数据库事物隔离四种级别详解
- WAVE文件头格式剖析以及pcm2wav