之前有没有人遇到过这个问题或有人能解释我发生了什么事吗?
代码说明: 下面的代码从我的对象ContactFromXML中获取一些信息,并在需要的地方发送一些textmessages。
代码:
PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0);
for (int i=0; i<contactsCount;i++){
while(contactsIt.hasNext()){
ContactFromXML contact = contactsIt.next();
if (mTeam.equals(contact.mTeam)){
smsMessage = String.format(getResources().getString(R.string.mess_sms_message), contact.mVoornaam, mTimeOfArrival);
smsManager.sendTextMessage(contact.mTel, null, smsMessage, pi , null);
}
}
}
问题: 对于我的代码发送的每个textmessage,它都会刷新UI。首先,我认为这是因为从我的UI线程发送的消息,所以我把它放入AsyncTask。但这并没有解决任何问题。经过一些测试,我发现这是因为de SentItent'pi'。如果我不使用它,它就没有问题。
问题: 有谁能解释一下?我真的想使用该功能来查看是否实际发送了文本消息,而没有用户注意到UI刷新。
答案 0 :(得分:0)
根据Android Developer Site,sentIntent
已发送PendingIntent
when the message is successfully sent, or failed.
这里您要在PendingIntent
中设置一项活动,因此每当您发送消息时要发送sent
或failed
,您的PendinfIntent
已激活,并会刷新您的活动。