android读取短信示例分享
package com.homer.sms;import java.sql.Date;
import java.text.SimpleDateFormat;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteException;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.widget.ScrollView;
import android.widget.TableLayout;
import android.widget.TextView;
public class smsRead extends Activity {@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);TextView tv = new TextView(this);
tv.setText(getSmsInPhone());ScrollView sv = new ScrollView(this);
sv.addView(tv);
setContentView(sv);
}public String getSmsInPhone() {
final String SMS_URI_ALL = "content://sms/";
final String SMS_URI_INBOX = "content://sms/inbox";
final String SMS_URI_SEND = "content://sms/sent";
final String SMS_URI_DRAFT = "content://sms/draft";
final String SMS_URI_OUTBOX = "content://sms/outbox";
final String SMS_URI_FAILED = "content://sms/failed";
final String SMS_URI_QUEUED = "content://sms/queued";StringBuilder smsBuilder = new StringBuilder();
try {
Uri uri = Uri.parse(SMS_URI_ALL);
String[] projection = new String[] { "_id", "address", "person", "body", "date", "type" };
Cursor cur = getContentResolver().query(uri, projection, null, null, "date desc"); // 获取手机内部短信if (cur.moveToFirst()) {
int index_Address = cur.getColumnIndex("address");
int index_Person = cur.getColumnIndex("person");
int index_Body = cur.getColumnIndex("body");
int index_Date = cur.getColumnIndex("date");
int index_Type = cur.getColumnIndex("type");do {
String strAddress = cur.getString(index_Address);
int intPerson = cur.getInt(index_Person);
String strbody = cur.getString(index_Body);
long longDate = cur.getLong(index_Date);
int intType = cur.getInt(index_Type);SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date d = new Date(longDate);
String strDate = dateFormat.format(d);String strType = "";
if (intType == 1) {
strType = "接收";
} else if (intType == 2) {
strType = "发送";
} else {
strType = "null";
}smsBuilder.append("[ ");
smsBuilder.append(strAddress + ", ");
smsBuilder.append(intPerson + ", ");
smsBuilder.append(strbody + ", ");
smsBuilder.append(strDate + ", ");
smsBuilder.append(strType);
smsBuilder.append(" ]\n\n");
} while (cur.moveToNext());if (!cur.isClosed()) {
cur.close();
cur = null;
}
} else {
smsBuilder.append("no result!");
} // end ifsmsBuilder.append("getSmsInPhone has executed!");
} catch (SQLiteException ex) {
Log.d("SQLiteException in getSmsInPhone", ex.getMessage());
}return smsBuilder.toString();
}
}
记得在AndroidManifest.xml中加入android.permission.READ_SMS这个permission
<uses-permission android:name="android.permission.READ_SMS" />
您可能感兴趣的文章:
- Android读取短信和联系人
- 从零开始学android实现计算器功能示例分享(计算器源码)
- android获取单个通讯录联系人信息并分享内容(短信邀请)
- [android]ShareSDK——内容分享和短信验证
- android开机自启动app示例分享
- Android获取和读取短信验证码的实现方法
- Android发送短信和读取联系人
- 【Android】分享Android一些示例代码
- Android开发之旅一短信分享
- Android 读取短信信息 简单Dome
- android配合viewpager实现可滑动的标签栏示例分享
- Android核心基础-5.Android 数据存储与访问-4.ContentProvider 内容提供者-示例(监听短信)
- android 读取短信内容
- Android手机用户隐私获取,包括读取通讯录、读取通话记录、读取浏览器历史记录、读取手机短信
- Android开发中实现发送短信的小程序示例
- Android 获取root后读取短信内容
- Android接收短信并读取
- nodejs读取memcache示例分享
- android读取短信获取验证码功能实现
- android分享功能开发-短信,微博