保存短信是从我的应用程序发送到短信应用程序本机的数据库中

Saving sms was sent from my app into db of sms app native

我在 Whosebug 和 google 中搜索了更多与我的问题相同的主题,但所有解决方案都无法解决我的问题。我希望当我从我的应用程序发送短信时,它也会存储在数据库中,以便短信本机可以读取。

人们可以指导或给我示例代码以将短信保存到 db 短信中。

非常感谢!

注意:我也使用 SMSManager 并插入内容 URI content://sms/sent 但没有成功。

更新正确答案:

int currentapiVersion = android.os.Build.VERSION.SDK_INT;
        if (currentapiVersion >= 16) {
            SmsManager smsManager = SmsManager.getDefault();
            smsManager.sendTextMessage(address, null, body, null, null);
        } else {
            SmsManager smsManager = SmsManager.getDefault();
            smsManager.sendTextMessage(address, null, body, null, null);
            ContentValues values = new ContentValues();
            values.put("address", address);//sender name
            values.put("body", body);
            context.getContentResolver().insert(Uri.parse("content://sms/sent"), values);
        }

您可以将 ContentProvider 与 URL "content://sms/inbox""content://sms/sent"[=12= 一起使用]

然后在此处插入您的短信!

给你举个例子:

ContentValues values = new ContentValues();
  values.put("address", "+84935059109");//sender name
  values.put("body", "textttttttt");
  getContentResolver().insert(Uri.parse("content://sms/inbox"), values);

记得在清单中声明:

<uses-permission android:name="android.permission.READ_SMS"/>
 <uses-permission android:name="android.permission.WRITE_SMS"/>

看看它是如何工作的。签出 this app from github - 具体查看 MessageDAO.java

另请记住,启动 KitKat 以便拥有对 SMS 数据库应用程序的写入权限需要声明为默认 SMS 处理应用程序。

调查PSMActivity.handleDefaultSMSApplication