2010-05-11 51 views
0

我有一個活動(稱爲發件人)具有最基本的用戶界面,只有一個按鈕在單擊時發送消息。在onClickListener我只調用這個方法:不需要的自動創建活動類的新實例

private void sendSMS(String msg) 
    { 
    PendingIntent pi = PendingIntent.getActivity(this, 0, 
     new Intent(this, Sender.class), 0); 
    PendingIntent pi = PendingIntent.getActivity(this, 0, myIntent, 0); 
    SmsManager sms = SmsManager.getDefault(); 
    sms.sendTextMessage("1477", null, msg, pi, null); 
    } 

該工程確定,發送消息,但每一個消息被髮送發送者的新實例時啓動對另一個的上面。如果我三次調用sendSMS方法,則啓動三個新實例。我對android非常陌生,所以我需要一些幫助,我只希望同一個發送者始終處於打開狀態

+0

你真的定義了pi兩次或是一個剪切/粘貼錯誤? – RickNotFred 2010-05-11 21:11:18

回答

0

嘗試在清單中的活動條目中添加android:launchMode =「singleTask」。更多信息可以在here找到。

1

PendingIntent參數sendTextMessage是用於將反饋發送到您的應用程序的一個組成部分,報告的短信是否發送成功。

通常你應該創建一個PendingIntent,會啓動廣播而非活動

如果您不在乎短信是否成功發送,那麼只需傳入null而不是pi

相關問題