发送短信时,Android会重置所有变量

时间:2015-07-15 03:43:50

标签: java android sms

嘿我正在制作一个我需要发送短信的应用程序,但每次发送消息时应用程序再次打开并且所有变量都被重置(我试图实现一个保存变量的系统但它们仍然会重置),但它仍会发送消息。它为什么这样做,我该如何解决它;这是我的代码

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);
            }
        });

1 个答案:

答案 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);