Android发送的smsManager.sendTextMessage内容使UI刷新

时间:2013-04-24 10:12:55

标签: android user-interface smsmanager

之前有没有人遇到过这个问题或有人能解释我发生了什么事吗?

代码说明: 下面的代码从我的对象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刷新。

1 个答案:

答案 0 :(得分:0)

根据Android Developer SitesentIntent已发送PendingIntent when the message is successfully sent, or failed.这里您要在PendingIntent中设置一项活动,因此每当您发送消息时要发送sentfailed,您的PendinfIntent已激活,并会刷新您的活动。