2010-05-11 52 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

相关问题