Android 发送短信时所有变量都被重置
Android all variables are reset when SMS is sent
嘿,我正在制作一个应用程序,我需要在其中发送一条短信,但每次我发送消息时,应用程序都会再次打开并且所有变量都被重置(我试图实现一个保存变量的系统但它们仍会重置),但它仍会发送消息。为什么要这样做,我该如何解决;这是我的代码
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);
}
});
您要求 SMSManager 在 SMS 发送成功后重新启动您的应用程序。
来自docs,
public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent),
你的代码中的pi
会被用作sentIntent
,也就是说当短信发送出设备时,SMSManager
会自动触发intent。
如果您不希望短信管理器在发送短信后再次重新启动您的应用程序,只需发送 null
代替 pi
。
sm.sendTextMessage(phono, null, mes, null, null);
将sm.sendTextMessage(phono, null, mes, pi, null);
替换为
sm.sendTextMessage(phono, null, mes, null, null);
嘿,我正在制作一个应用程序,我需要在其中发送一条短信,但每次我发送消息时,应用程序都会再次打开并且所有变量都被重置(我试图实现一个保存变量的系统但它们仍会重置),但它仍会发送消息。为什么要这样做,我该如何解决;这是我的代码
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);
}
});
您要求 SMSManager 在 SMS 发送成功后重新启动您的应用程序。
来自docs,
public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent),
你的代码中的pi
会被用作sentIntent
,也就是说当短信发送出设备时,SMSManager
会自动触发intent。
如果您不希望短信管理器在发送短信后再次重新启动您的应用程序,只需发送 null
代替 pi
。
sm.sendTextMessage(phono, null, mes, null, null);
将sm.sendTextMessage(phono, null, mes, pi, null);
替换为
sm.sendTextMessage(phono, null, mes, null, null);