在Android 4.4.2上以编程方式插入SMS

时间:2014-01-27 09:07:00

标签: android sms

我有以下代码在旧版本的Android中运行良好,但在4.4.2上没有。在logcat中没有发生任何错误,也没有任何错误,但消息未显示在模拟器中的默认SMS应用程序中。所以我的问题是为什么它不能用于4.4.2以及我必须做些什么才能使它再次工作。

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();
  }

2 个答案:

答案 0 :(得分:8)

从Android 4.4 Kitkat开始,如果不是默认的SMS应用程序,则无法执行任何类型的SMS相关操作。还原和备份应用程序也无法执行此操作。他们中的大多数已经更新了他们的应用程序以支持此功能,现在要求用户选择它们作为默认的SMS应用程序。

答案 1 :(得分:0)

Android KitKat更新停止支持与其他应用编写短信。你只能听,但不能写。如果您要发送短信,则必须将其发送到默认短信意图,用户必须批准并点击发送才能发送短信。

您的参考:SMS Provider Update