0

我正在开发一个 android 应用程序,它在收到 SMS 消息时将其标记为已读。我使用以下代码做到这一点:

   if(readMessages.contains(id)){
                ContentValues values=new ContentValues();
                values.put("read", 1);
                values.put("seen", 1);
                getContentResolver().update(Uri.parse("content://sms/inbox"), 
                        values, "_id="+id, null);
                Log.i("read message","id:"+id);

                if(readThread.contains(trdid)){

                    ContentValues values1=new ContentValues();
                    values1.put("read", 1);
                    values1.put("seen", 1);
                    getContentResolver().update(Uri.parse("content://sms/inbox"), 
                            values, "_id="+trdid, null);
                    Log.i("read thread","id:"+trdid);

                }
            }

如您所见,我已将线程和消息 ID 标记为已读,并且该消息确实已标记为已读。

然而我的问题是,为什么我执行代码后消息应用程序上的图标(显示新消息数量的红色气泡)没有消失?有可能这样做吗?

谢谢!:)

4

1 回答 1

1

为什么我执行代码后消息应用程序上的图标(显示新消息数量的红色气泡)没有消失?有可能这样做吗?

您无法控制来自不属于您自己的应用程序的通知。此外,AOSP 消息没有红色气泡通知,所以这是一些自定义应用程序。

尽管如此,您无法控制第三方应用程序的通知状态。当 SMS 数据库发生更改时,SMS 客户端应负责更新其 UI 和通知。

于 2013-03-16T07:54:32.960 回答