尝试将 SMS 插入收件箱,没有任何反应
Trying to insert SMS to Inbox , nothing happens
我正在尝试从备份中插入短信,但是当我 运行 代码时没有任何反应,没有任何错误或任何事情,短信应用程序或收件箱中也没有短信。
也试过添加日期、读取状态等,但没有用
具有读和写短信权限。
minSDK: 23
代码如下:
public void addSms(String number , String body){
ContentValues values = new ContentValues();
values.put("address", number);
values.put("body", body);
getContentResolver().insert(Uri.parse("content://sms/inbox"),values);
}
并从以下位置调用 addSms:
for (int i = 0; i < smssJson2.length(); i++) {
try {
JSONObject obj = smssJson2.getJSONObject(i);
String body = obj.getString("message");
String number = obj.getString("number");
addSms(number,body);
} catch (Exception e) {
e.getLocalizedMessage();
}
}
检查收件箱(此代码有效):
Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null, null);
while (cur != null && cur.moveToNext()) {
String address = cur.getString(cur.getColumnIndex("address"));
String body = cur.getString(cur.getColumnIndexOrThrow("body"));
JSONObject obj = new JSONObject();
try {
obj.put("number",address);
obj.put("message",body);
Log.d("SMS",obj.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
cur.close();
解决了!
如果应用程序的 android 版本为 4.4(KitKat) 或更高版本,您必须将您的应用程序设置为默认消息传递应用程序,以便将短信添加到 SmsProvider 或发送或接收短信和彩信。
对于 backup/restore 应用,您应该遵循以下步骤:
1- 将您的应用更改为默认消息应用。
2- 插入短信
3- 将默认消息应用程序更改为以前的应用程序。
资源和更多信息HERE!
是的,只有在应用程序被标记为默认短信应用程序后才有可能,它还需要实现文章中提到的所有默认处理程序类。
我正在尝试从备份中插入短信,但是当我 运行 代码时没有任何反应,没有任何错误或任何事情,短信应用程序或收件箱中也没有短信。
也试过添加日期、读取状态等,但没有用
具有读和写短信权限。 minSDK: 23
代码如下:
public void addSms(String number , String body){
ContentValues values = new ContentValues();
values.put("address", number);
values.put("body", body);
getContentResolver().insert(Uri.parse("content://sms/inbox"),values);
}
并从以下位置调用 addSms:
for (int i = 0; i < smssJson2.length(); i++) {
try {
JSONObject obj = smssJson2.getJSONObject(i);
String body = obj.getString("message");
String number = obj.getString("number");
addSms(number,body);
} catch (Exception e) {
e.getLocalizedMessage();
}
}
检查收件箱(此代码有效):
Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null, null);
while (cur != null && cur.moveToNext()) {
String address = cur.getString(cur.getColumnIndex("address"));
String body = cur.getString(cur.getColumnIndexOrThrow("body"));
JSONObject obj = new JSONObject();
try {
obj.put("number",address);
obj.put("message",body);
Log.d("SMS",obj.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
cur.close();
解决了!
如果应用程序的 android 版本为 4.4(KitKat) 或更高版本,您必须将您的应用程序设置为默认消息传递应用程序,以便将短信添加到 SmsProvider 或发送或接收短信和彩信。
对于 backup/restore 应用,您应该遵循以下步骤:
1- 将您的应用更改为默认消息应用。
2- 插入短信
3- 将默认消息应用程序更改为以前的应用程序。
资源和更多信息HERE!
是的,只有在应用程序被标记为默认短信应用程序后才有可能,它还需要实现文章中提到的所有默认处理程序类。