您的位置:首页 > 移动开发 > Android开发

Android 读取短信信息 简单Dome

2017-02-21 17:54 417 查看
首先看看效果图



1.添加权限

<!--读取联系人权限-->
<uses-permission android:name="android.permission.READ_SMS"/>


2.布局

activity_main.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_main"
android:layout_width="match_parent" android:layout_height="match_parent"
tools:context="com.zking.mygetsms.MainActivity">

<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@android:id/list"></ListView>
</LinearLayout>


3.编写Activity

MainActivity.java

package com.zking.mygetsms;

import android.app.ListActivity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

import java.net.URI;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends ListActivity {

private List<String> datas = new ArrayList<>();
private ContentResolver cr;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
}

private void initViews() {
cr = getContentResolver();
//获取短信的cureor对象 (content://sms/inbox短信内容提供者的uri)
Cursor cursor = cr.query(Uri.parse("content://sms/inbox"),null,null,null,null);
while (cursor.moveToNext()){
//body 为短信表的内容字段
datas.add(cursor.getString(cursor.getColumnIndex("body")));
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,datas);
setListAdapter(adapter);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: