如何在android中添加具有特定日期的短信

时间:2013-10-25 09:55:44

标签: android android-contentresolver

stackoverflow我正在尝试开发一个应用程序,以便以编程方式添加SMS,我使用以下代码添加SMS

private void addSMS()
{       
    Uri uri = Uri.parse("content://sms/");
    ContentValues cv2 = new ContentValues();
    cv2.put("address", "+91956322222");
    cv2.put("date", "1309632433677");
    cv2.put("read", 1);
    cv2.put("type", 2);
    cv2.put("body", "Hey");
    getContentResolver().insert(uri, cv2);
    cv2.clear();
}

Permissions:

<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/>

问题是消息的Time,它显示我们添加消息的时间,但不显示我们在date列表中传递的messages,但是当我打开消息时message我们添加了time作为我们的输入正确,请帮我解决这个问题。

感谢。

2 个答案:

答案 0 :(得分:1)

我认为这是一个已知问题。尝试最后添加这一行:

getContentResolver().delete(Uri.parse("content://sms/conversations/-1"), null, null);

如果您需要更多解释,请check this out!

答案 1 :(得分:0)

这是工作代码,感谢@Amulya Khare

private void addSMS()
{       
    Uri uri = Uri.parse("content://sms/");
    ContentValues cv2 = new ContentValues();
    cv2.put("address", "+91956322222");
    cv2.put("date", "1309632433677");
    cv2.put("read", 1);
    cv2.put("type", 2);
    cv2.put("body", "Hey");
    getContentResolver().insert(uri, cv2);
    /** This is very important line to solve the problem */
    getContentResolver().delete(Uri.parse("content://sms/conversations/-1"), null, null);
    cv2.clear();
}

请点击此链接以获取更多信息Android programatically inserted SMS have incorrect timestamp in Messaging apps