手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >android读取短信示例分享
android读取短信示例分享
摘要:复制代码代码如下:packagecom.homer.sms;importjava.sql.Date;importjava.text.Simp...

复制代码 代码如下:

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(" ]nn");

} while (cur.moveToNext());

if (!cur.isClosed()) {

cur.close();

cur = null;

}

} else {

smsBuilder.append("no result!");

} // end if

smsBuilder.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,不显示标题的方法小例子

android 权限大全 分享

Android对字符串的处理

android 开发教程之日历项目实践(二)

android TextView属性的详细介绍 分享

android改变分区权限

Android软件开发环境搭建

android生命周期深入分析(二)

精品推荐
分类导航