0

以前有没有人遇到过这个问题,或者有人可以向我解释发生了什么吗?

代码描述: 以下代码从我的对象 ContactFromXML 中获取一些信息,并在需要的地方发送一些文本消息。

代码:

        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);
                }
            }
        }

问题: 对于我的代码发送的每条短信,它都会刷新 UI。首先,我认为这将是因为消息是从我的 UI 线程发送的,所以我将其放入 AsyncTask 中。但这并没有解决任何问题。经过一番测试,我发现这是因为 de SentItent 'pi'。如果我不使用一个,它没有问题。

问: 谁能解释一下?我真的很想使用该功能来查看是否实际发送了短信,而用户不会注意到 UI 刷新。

4

1 回答 1

0

根据Android Developer Site的说法,sentIntent这是一个PendingIntent发送when the message is successfully sent, or failed.在这里您正在设置一个活动PendingIntent,因此每当您的消息被发送sentfailed将被发送时,您的PendinfIntent被激活,并刷新您的活动。

于 2013-04-24T11:39:06.447 回答