嘿我正在制作一个我需要发送短信的应用程序,但每次发送消息时应用程序再次打开并且所有变量都被重置(我试图实现一个保存变量的系统但它们仍然会重置),但它仍会发送消息。它为什么这样做,我该如何解决它;这是我的代码
public void sendSMS(String phono, String mes)
{
PendingIntent pi = PendingIntent.getActivity(this, 0,
new Intent(this, MainActivity.class), 0);
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage(phono, null, mes, pi, null);
}
//Button that uses method
b = (Button) findViewById(R.id.b);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
phono = "personal phone number";
if (phono.length() > 0 && mes.length() > 0)
sendSMS(phono, mes);
}
});
答案 0 :(得分:2)
您要求SMSManager在成功发送短信后重新启动您的应用。
来自docs,
public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent),
代码中的pi
将用作sentIntent
,这意味着当SMS从设备发出时,SMSManager
将自动触发意图。
如果您不希望短信管理员在发送短信后再次重新启动您的应用,只需发送null
代替pi
。
sm.sendTextMessage(phono, null, mes, null, null);