我有一个具有最基本UI的活动(称为Sender),只有一个按钮在单击时发送消息。在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);
}
这样可以正常发送消息,但每次发送消息时,都会在另一个上面启动新的Sender实例。如果我调用sendSMS方法三次,则启动三个新实例。我对android很新,所以我需要一些帮助,我只想让同一个发件人一直在这里
答案 0 :(得分:1)
PendingIntent
sendTextMessage
参数用于向您的应用程序组件发送反馈,报告SMS是否已成功发送。
通常您应该创建一个PendingIntent
来启动广播而不是活动。
如果您不关心SMS是否已成功发送,则只需传入null
而不是pi
。
答案 1 :(得分:0)
尝试将android:launchMode =“singleTask”添加到清单中的活动条目。可以找到更多信息here。