gpt4 book ai didi

Android 以编程方式插入的短信在消息应用程序中的时间戳不正确

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:33:30 24 4
gpt4 key购买 nike

我曾尝试使用未记录的内容提供者(content://sms)向收件箱插入一条短信,插入成功。然后我在消息应用程序中检查新插入的消息,但是显示的时间始终是插入完成的实时时间,而不是我在 ContentValues 中指定的时间。单击并查看消息线程后,时间将更新为我在 ContentValues 中设置的值。我错过了什么吗?求助,万分感谢

她是我代码的一部分

Uri uri = Uri.parse("content://sms");
ContentValues cv = new ContentValues();
cv.put("address", "99912345");
cv.put("date", 1309632433677);
cv.put("read", 1);
cv.put("type", 1);
cv.put("subject", null);
cv.put("body", "Testing message");
getContentResolver().insert(uri, cv);

最佳答案

问题在于这是一个未记录的非官方 API,因此理论上您可能不应该使用它。在实践中,如果你想使用它,你必须做好准备让谷歌在 J 或更高版本中破坏你的软件。

综上所述,事实证明有一个解决方法。当您插入一条消息时,会将线程的日期戳设置为插入时间。但是,当您从线程中删除消息时(由“content://sms”提供程序中的“地址”字段标识),它必须重新计算线程日期戳。因此,对于您向其中填充内容的每个线程,也向其中填充另一个虚拟消息,然后将其删除。这很容易,因为 insert 方法返回一个 Uri,您可以对其调用 delete 方法。我怀疑这是非常低效的。

关于Android 以编程方式插入的短信在消息应用程序中的时间戳不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6903885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com