通过ContentProvider实现获取手机中的短息内容
2017-02-21 19:05
357 查看
以下是我通过ContentProvider实现的获取的手机中的短息内容和发送人的电话号码,通过ListView遍历了短信的内容
首先展示下获取的短信内容
在清单文件中配置获取的短信的权限
activity_message.xml
MessageActivity.java
以上是简单的获取手机短信内容的代码,有其他意见的,可以一起交流
首先展示下获取的短信内容
在清单文件中配置获取的短信的权限
<!--读取手机短信权限--> <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="读取手机短信" 4000 /> <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(); } } } }
以上是简单的获取手机短信内容的代码,有其他意见的,可以一起交流
相关文章推荐
- 通过ContentProvider实现获取手机联系人
- Android开发之Contentprovider实现获取手机短信((收)发件人、短信内容、收(发)件时间)
- 通过ddmlib实现截图以及获取手机相关信息
- 实现pc端通过usb获取到android手机上的短信、通讯录等信息
- 通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页/手机微信播放
- 通过内容提供器获取手机联系人信息
- PHP下通过file_get_contents\curl的方法实现获取远程网页内容(别忘了还有PhpRPC)
- 通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页/手机微信播放
- 实现可以通过adb命令获取Android手机的IP地址
- 实现pc端通过usb获取到android手机上的短信、通讯录等信息
- 安卓使用ContentProvider实现读取手机联系人和短信内容
- Android实现EditText文本的输入,通过点击按钮,获取输入的内容
- Android ContentProvider实现获取手机联系人功能
- ContentView实现获取手机短信内容
- 安卓使用ContentProvider实现读取手机联系人和短信内容
- 通过Apache的HttpClient来实现HTTP方法并获取相应内容
- 通过代码实现获取手机CPU信息
- 通过内容提供者获取手机上的音乐资源
- 通过<iframe>..........</iframe >来实现获取其它网页指定的内容。
- 通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页/手机微信播放