将消息添加到Android收件箱/已发送

将消息添加到Android收件箱/已发送,android,sms,Android,Sms,创建用于备份收件箱中当前邮件的邮件应用程序。问题是我似乎无法在我的信息中添加任何内容。我正在尝试以特定的线程id为目标 下面的代码返回以下Uri,我也不确定它的含义:content://sms/inbox/0 public static final String SMS_URI = "content://sms/inbox"; public static final String ADDRESS = "address"; public static final String PERSON = "

创建用于备份收件箱中当前邮件的邮件应用程序。问题是我似乎无法在我的信息中添加任何内容。我正在尝试以特定的线程id为目标

下面的代码返回以下Uri,我也不确定它的含义:content://sms/inbox/0

public static final String SMS_URI = "content://sms/inbox";
public static final String ADDRESS = "address";
public static final String PERSON = "person";
public static final String DATE = "date";
public static final String READ = "read";
public static final String STATUS = "status";
public static final String TYPE = "type";
public static final String BODY = "body";
public static final String SEEN = "seen";
public static final String THREAD = "thread_id";


ContentValues values = new ContentValues();
values.put( ADDRESS, "+190000000" );
values.put( DATE, System.currentTimeMillis() );
values.put( READ, MESSAGE_IS_NOT_READ );
values.put( TYPE, MESSAGE_TYPE_INBOX );
values.put( SEEN, MESSAGE_IS_NOT_SEEN );
values.put(THREAD, "106");
values.put(BODY, "Adding SMS");
Uri uri = getContentResolver().insert( Uri.parse( SMS_URI ), values );
Log.v("MainActivity", "Done Adding SMS - Uri: " + uri.toString());

任何帮助或指点都将不胜感激。我应该在Android清单中拥有所有适当的权限。同时也在看一个19-23之间的SDK版本

您的应用程序是默认的SMS应用程序吗?如果没有,它就没有对提供商的写访问权限。这是我一直在想的,因为我想从我的收件箱既写又读。这是否意味着我将首先需要成为默认的短信应用程序,这将使我能够进行写作?是的,差不多。但是,请记住,默认的SMS应用程序负责很多事情,包括向提供商写入所有传入消息、发出适当的通知、处理传入和传出的彩信等。编写完整的SMS客户端并不是一项简单的任务。到目前为止,我找到的唯一解决方法是KitKat,如中所示。我还没有机会解决棒棒糖或棉花糖的问题。你有没有一个例子可以说明如何让他们的应用程序成为默认短信?还是提示呢?我看到其他应用程序能够提示用户,但还没有弄清楚。谢谢显示应用程序在系统默认选择列表中显示的最低要求。问题中链接的页面是KitKat中引入的SMS API更改指南。“短信备份和恢复应用建议”部分给出了与您的情况相关的示例。