0
我的TextMessage活動被傳遞一個名稱和電話號碼,然後繼續允許用戶鍵入文本消息併發送消息。如何在使用PendingIntent後恢復我的信息?
我的活動完成它應該做的事情,但是,在發送消息後,它再次調用我的TextMessage活動,但它不保留姓名和電話號碼。
有沒有一種方法可以做到這一點?我知道我不能使用「putExtra」作爲pendingIntent,所以我不知道如何做到這一點。
此外,我的取消按鈕在這種情況下崩潰,因爲我從以前的意向收到的姓名和電話號碼現在爲空。
我的代碼:
public class TextMessage extends Activity {
private Button cancel;
private EditText message;
private TextView nameInfo;
private Button send;
private String searchName;
private String searchPhone;
private SmsManager smsManager;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.message);
cancel = (Button) findViewById(R.id.cancelmessage);
send = (Button) findViewById(R.id.sendmessage);
message = (EditText) findViewById(R.id.messagebodytext);
nameInfo = (TextView) findViewById(R.id.messageuser);
searchName = getIntent().getStringExtra("name");
searchPhone = getIntent().getStringExtra("phonenumber");
nameInfo.setText(searchName + ": " + searchPhone);
smsManager = SmsManager.getDefault();
//final PendingIntent sentIntent = PendingIntent.getActivity(this, 0, new Intent(this, TextMessage.class), 0);
Intent intent = new Intent(this, TextMessage.class);
intent.putExtra("name", searchName);
intent.putExtra("phonenumber", searchPhone);
final PendingIntent sentIntent = PendingIntent.getActivity(this, 0, intent, 0);
send.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
String messageBody = message.getText().toString();
if (messageBody.length() > 0) {
smsManager.sendTextMessage(searchPhone, null, messageBody, sentIntent, null);
finish();
}
}
});
cancel.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(TextMessage.this, SMS.class);
intent.putExtra("name", searchName);
startActivity(intent);
finish();
}
});
}
}
不幸的是,這不適合我。即使我使用putExtra進入PendingIntent的意圖,它仍將我返回到名稱和電話號碼爲空值的屏幕。 –
給這個帖子試一試。 http://stackoverflow.com/questions/4340431/how-can-i-correctly-pass-unique-extras-to-a-pending-intent – caguilar187
我希望這對我有意義,我不知道如何實現這些東西 –