从android中的应用程序发送SMS

时间:2014-06-10 20:38:08

标签: android android-intent android-activity android-pendingintent android-broadcast

我使用SmsManager从我的应用程序发送短信。代码如下所示

PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, new Intent(SENT), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phone_number, null, message, sentPI, null);

我使用broadcastReceiver作为上述SMS任务的监听器。 broadcastReceiver将调用它的onReceive侦听器方法来指示短信被发送。这个监听器放在我的activty

的onResume()方法中
context.registerReceiver( br = new BroadcastReceiver() {
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode()) {
                case Activity.RESULT_OK:
                    Log.w("MainActivity", "SMS is sent");
                     // TO-DO sms is sent, display the user
                    break;
                }
           }
        }, new IntentFilter(SENT));

一切都与逻辑完美配合。问题出现在我离开活动时,在我回到我的应用程序之前发送短信。因为在onPause方法中我取消注册了服务,这里没有监听器而且我的活动UI没有更新。

无论如何要克服这个问题?

0 个答案:

没有答案