java - Android 通过其 Thread-ID 打开特定的 SMS-Thread

标签 java android android-intent sms

我的计划是通过线程 ID 打开一个 SMS session 线程。我的代码是:

    long threadId = Long.parseLong(THREAD_ID);


    Intent defineIntent = new Intent(Intent.ACTION_VIEW);
    defineIntent.setData(Uri.parse("content://mms-sms/conversations/"+threadId));
    context.startActivity(defineIntent);

但是我得到以下错误:

09-27 16:01:07.696: ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=content://mms-sms/conversations/3 }

谁能帮我解决这个问题?提前致谢。

J Doe ;)

最佳答案

我自己找到了解决方案。它之所以有效,是因为来自一个特定号码的每条消息都进入一个线程。如果您将“new-sms-intent”与您收到短信的号码(而不是联系人姓名)一起使用,它将打开整个对话。

只有一行:

context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", "SMS_NUMBER_AS_STRING_HERE", null)));

关于java - Android 通过其 Thread-ID 打开特定的 SMS-Thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39729427/

相关文章:

java - Spring Boot "debug"配置属性设置了什么?

java - 如何在 Jenkins 中注入(inject)属性文件并在 Java 代码中使用它的值

java - 为什么这个 Activity 没有开始?

Android:关于Intents,为什么setType()和setData()会互相抵消?

java - 在 docker 容器中部署简单的独立 spring mvc 应用程序

java - Android中的ServiceLoader "Couldn' t实例化类”

android - 奇怪的随机力关闭

android - 如何判断 TextView 文本是否因 singleLine ="true"而被截断?

java - 初始化 Intent 时出错

android - 将 Activity 重定向到另一个 Activity 的动态方式 - android?