java - 在默认短信应用程序和 native 消息应用程序中显示收到的消息

标签 java android sms android-4.4-kitkat

我创建了一个消息应用程序,可以将其设置为 KitKat (Android 4.4) 中的默认短信应用程序。该应用程序监听并捕获特定消息,然后在收到消息后引发事件。问题是我不需要捕获的消息没有出现在 native 消息应用程序的收件箱中。如何在将我的应用程序设置为默认应用程序的同时,在设备上的 native 消息应用程序中显示这些消息?

最佳答案

当您的应用程序是默认 SMS 应用程序时,它负责将传入消息写入提供程序,因为它是唯一具有写入权限的应用程序。以下是一个非常简单的最小示例,并假设您具有以下导入:

 import android.provider.Telephony.*;

以及示例写入方法:

private void insertSms(String number, String message)
{
    ContentValues smsValues = new ContentValues();
    smsValues.put(Sms.ADDRESS, number);
    smsValues.put(Sms.BODY, message);
    smsValues.put(Sms.DATE, System.currentTimeMillis());

    context.getContentResolver().insert(Sms.Inbox.CONTENT_URI, smsValues);  
}

关于java - 在默认短信应用程序和 native 消息应用程序中显示收到的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26270881/

相关文章:

java - 我是否需要使用一种方法,或者我可以在更改时简单地传递一个操作吗?

Java Util 可选代码到 Guava 可选映射和过滤器

java - 解析为 Double 时出现异常

android - 将完整的磁盘镜像从 Android 复制到计算机

java - 如何在 GridView 内动态创建 ImageButton

java - JDK8 : "java.lang.NoClassDefFoundError: javax/xml/ws/Service"

android - 拦截外发短信

linux - 从 Linux 服务器发送短信的最简单系统是什么?

.net - 如何通过 Windows 应用程序发送短信

android - 在 PWA 中,虚拟键盘与 html 元素重叠,在移动 chrome 浏览器中则不会