在默认SMS应用程序和本机消息传递应用程序中显示收到的消息

时间:2014-10-09 05:22:01

标签: java android sms android-4.4-kitkat

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

1 个答案:

答案 0 :(得分:1)

当您的应用程序是默认的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);  
}