发送SMS-待定意图/放置额外内容?

时间:2011-10-01 04:54:49

标签: android lifecycle android-pendingintent

我正在使用代码

private void sendSms(String phoneNo, String message){
    PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, MainScreen.class), 0);
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNo, null, message, pi, null);
}

我已经利用onSaveInstanceState来保存文本和微调器位置等值,这样可以在接收意图,导航离开活动等时保存和保持一致性

不确定我是否可以在待定意图中添加额外内容,以便在启动主要活动时,我可以使用这些额外内容。因为某种程度上,当待处理的意图通过时,我需要它恢复到调用意图之前的方式

1 个答案:

答案 0 :(得分:3)

你可以..但你必须清除以前的未决意图或在构建待定意图时使用一次性标记..像这样

Intent sentIntent = new Intent(SENT_SMS_ACTION);
sentIntent.putExtra(MESSAGE_ID_TAG, messageId);
PendingIntent sentPendingIntent = PendingIntent.getBroadcast(this, 0, sentIntent, PendingIntent.FLAG_ONE_SHOT);