【发布时间】:2012-09-03 07:49:56
【问题描述】:
我正在开发一个 android 短信应用程序。我可以使用以下代码向单个联系人发送短信。
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
现在我想向多联系人发送短信。有人建议使用循环。所以现在我正在使用循环向多联系人发送短信。
发送每条短信后,我将这些值写入发送表。
ContentValues values = new ContentValues();
values.put("address", mobNo);
values.put("body", msg);
getContentResolver().insert(Uri.parse("content://sms/sent"), values);
每个新地址都会创建一个新的线程 ID。 例如,如果我的接收者的地址是 x,那么线程 id 1,对于 y 线程 id 2。如果我想向 x 和 y 发送短信,那么我该如何写入 sms/sent 表。 如果我使用循环,那么它不会创建任何新的线程 id,因为发送地址 x 已经有线程 id 1 并且 y 已经有线程 id 2。所以消息将列在线程 id 1 和 2 下永远不会创建新的线程 id。
我尝试手动插入线程ID
values.put("thread_id", 33);
但是新线程 id 下的消息没有在默认应用程序中列出,而是在我的应用程序中。
请朋友们帮帮我
编辑:我尝试使用0,然后读取生成的thread_id,然后用这个thread_id放置下一条短信,仍然不起作用。
【问题讨论】:
-
所以即使 1 和 2 已经有一个线程,你也想要一个单独的组合线程?
-
@Nandesh..yes..Native 应用就是这样工作的
-
线程就是这样,它们基于一个数字,你不能为两个数字定义一个新线程。如果您想按照自己的方式制作自己的应用程序并拥有自己的数据库,则必须制作自己的应用程序
-
原生应用就是这样工作的......他们为群组对话创建单独的线程 ID
-
@nandeesh..我改变了我的问题。现在看看这个
标签: android sms android-contentprovider