`
luckliu521
  • 浏览: 259080 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

监听sms收件箱,得到收到短信并置为已读

阅读更多
public class ScreenTest extends Activity {
class SmsContent extends ContentObserver{
private Cursor cursor = null;
public SmsContent(Handler handler) {
super(handler);
}
/**
* @Description 当短信表发送改变时,调用该方法
* 需要两种权限
* android.permission.READ_SMS读取短信
* android.permission.WRITE_SMS写短信
* @Author Snake
* @Date 2010-1-12
*/
@Override
public void onChange(boolean selfChange) {
// TODO Auto-generated method stub
super.onChange(selfChange);
//读取收件箱中指定号码的短信
cursor = managedQuery(Uri.parse(“content://sms/inbox”), new String[]{“_id”, “address”, “read”}, ” address=? and read=?”, new String[]{“12345678901″, “0″}, “date desc”);
if (cursor != null){
ContentValues values = new ContentValues();
values.put(“read”, “1″); //修改短信为已读模式
cursor.moveToFirst();
while (cursor.isLast()){
//更新当前未读短信状态为已读
getContentResolver().update(Uri.parse(“content://sms/inbox”), values, ” _id=?”, new String[]{“”+cursor.getInt(0)});
cursor.moveToNext();
}
}
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SmsContent content = new SmsContent(new Handler());
//注册短信变化监听
this.getContentResolver().registerContentObserver(Uri.parse(“content://sms/”), true, content);
}
}
分享到:
评论

相关推荐

    android 监听短信数据库

    这里的`Uri`指定为`"content://sms/inbox"`,意味着查询的是收件箱中的短信。查询参数中包含了`_id`(短信ID)、`address`(发送方电话号码)和`read`(是否已读状态)。条件语句`"address=?andread=?"`指定了具体的...

    Android 实现发短信 监听短信发送状态

    至于保存短信至发件箱,Android系统默认会自动保存已发送的短信,但如果你想自定义存储或备份,可以使用`ContentResolver`和`UriSMSContentProvider`来访问和操作短信数据。 总结一下,Android实现发送短信和监听...

    Sms.rar_MMS_android sms_android 短信_sms_sms android

    开发者可以通过ContentProvider访问这些数据,如使用`Uri.parse("content://sms/inbox")`来查询收件箱中的短信。 5. **短信的发送流程**: 在`SmsManager`的`sendTextMessage()`方法中,开发者需要提供目标电话号码...

    在pocketPC手机上安装,在手机的收件箱受到短信之前,截获短信

    这个场景中,我们讨论的是如何在Pocket PC设备上,使用C#编程语言来实现一个功能,即在短信到达手机的收件箱之前进行截获。这涉及到对操作系统底层消息处理机制的理解以及对.NET Compact Framework的熟悉,这是微软...

    SMS.zip_android_android sms_sms

    `Uri.parse("content://sms/inbox")`可以获取收件箱中的短信,而`Uri.parse("content://sms/sent")`则获取已发送的短信。 5. **Permissions**: 发送和接收短信需要相应的权限。在AndroidManifest.xml中,需要添加`...

    SMS.rar_android_android sms.zip_sms_sms android_sms java

    例如,`content://sms/inbox`代表收件箱,`content://sms/sent`代表已发送的消息。 6. **SMS Java开发**: `sms_java`标签可能意味着这个压缩包中包含了Java源代码示例,这些代码展示了如何在Java环境中使用...

    Android获取手机短信

    通常,短信存储在`content://sms/`这个URI下,分为收件箱(inbox)、草稿箱(drafts)、发件箱(sent)和已发送(outbox)四个类别。 ```java ContentResolver contentResolver = getContentResolver(); Uri smsUri...

    (android studio)安卓实验查看系统短信

    如果想筛选特定类型的短信,如只读取收件箱中的短信,可以传入`Uri.parse("content://sms/inbox")`。 4. 查询返回一个Cursor对象,遍历这个Cursor来获取每条短信的数据,如发件人、接收时间、短信内容等。以下是一个...

    sms.zip_android_sms

    `Uri.parse("content://sms/inbox")`可以获取到收件箱中的短信,接着使用`ContentResolver.query()`方法查询短信数据。查询结果会返回一个`Cursor`,通过遍历`Cursor`,可以获取每条短信的ID、地址、时间、内容等...

    安卓Android源码——sms1.rar

    主要有 inbox(收件箱)、sent(已发送)、drafts(草稿箱)、outbox(发件箱)等表。 - ** pdu 表**: 存储短信的原始 PDU 数据,用于 SMS 的发送和接收。 - ** threads 表**: 用于组织短信对话,每个线程记录了...

    Android管理手机短信

    例如,使用`content://sms/inbox` Uri可以获取收件箱中的短信,通过`cursor.getCount()`判断未读短信的数量,再通过`cursor.getString(cursor.getColumnIndex("body"))`获取短信正文。 接下来,ListView下拉刷新是...

    安卓系统短信

    `Sms.Inbox`、`Sms.Sent`等子目录分别对应收件箱和已发送短信。通过`ContentResolver`和`Uri`,开发者可以读取、插入、更新或删除短信。 4. `android.content.BroadcastReceiver`:用于监听短信相关事件,如接收到...

    android模拟短信插入和接收

    这通常通过ContentResolver和Uri对象完成,如`Uri.parse("content://sms/inbox")`来访问收件箱中的短信。 - **插入数据**:一旦有了数据库的访问权限,你可以使用ContentResolver的`insert()`方法插入一条新的短信...

    基于android短信平台的管理

    它通常包含应用的主要操作流程,如如何发送短信、查看收件箱、搜索特定短信、设置和同步等功能的演示。 9. **源码分析**: 源码是学习和理解项目实现的关键。通过阅读源码,我们可以深入到具体的实现细节,例如,...

    Android高级应用源码-android模拟短信插入和接收.zip

    例如,`ContentResolver.insert(Uri.parse("content://sms/inbox"), ContentValues)`可以用来插入一条新的短信到收件箱。 2. **BroadcastReceiver**: Android的BroadcastReceiver是用于监听和响应系统广播事件的...

    Android软件开发之发送短信与系统短信库解析

    解析短信库时,我们可以获取到短信的多个字段,如时间戳、类型(收件箱/发件箱)、状态(已读/未读)、联系人姓名等。对于大量短信的处理,还需要考虑到性能优化,如使用异步查询、分批加载等技术。 总结,Android...

    读取android手机内所有短信

    // 仅获取收件箱中的短信,可以替换为"content://sms/"获取所有短信 Cursor cursor = getContentResolver().query(smsUri, null, null, null, null); ``` 3. **遍历结果**:如果查询成功,`cursor`将包含短信...

    android短信电话防火墙

    一旦收到新短信,它会分析短信内容,如果包含关键词或发件人号码在黑名单内,就直接删除该短信,不显示在用户的收件箱中。 三、有效利用 1. **自定义规则**:用户应根据个人需求设置拦截规则,例如只拦截晚上特定...

Global site tag (gtag.js) - Google Analytics