目前,我可以毫无问题地发送短信和彩信。我的问题是,当我发送确认信息为PendingIntent
时,如何获取已发送邮件的_id
?有没有办法提到那个短信?我正在做以下事情:
Intent sentIntent = new Intent(id_value);
PendingIntent sentPendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), 0, sentIntent, PendingIntent.FLAG_UPDATE_CURRENT);
context.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String result = "";
switch (getResultCode()) {
case Activity.RESULT_OK:
break;
default:
break;
}
}
}, new IntentFilter(id_value));
在上面的示例中,id_value
是我生成的随机值,用于标识发送了哪个SMS或MMS。但我想知道,短信和彩信数据库中消息的_id
是什么?
答案 0 :(得分:1)
uri
中有一个extras
密钥用于意图。你可以这样得到它:
context.registerReceiver(new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
switch (getResultCode()) {
case Activity.RESULT_OK: {
Bundle bundle = intent.getExtras();
String uri = bundle.getString("uri");
}
break;
default: {
}
break;
}
}
}, new IntentFilter(id));
在这种情况下,uri
将与content://sms/7384
类似。在这种情况下,7834
是_id
字段。使用内容解析器,我们可以获得该短信或彩信的详细信息。
这是我发送待处理意图的一部分。
请注意,如果您发送多部分短信,则只有一个回拨才能拥有uri
。其余的将为该字段为空。