即使在使用return语句或finish调用之后,活动也不会结束



下面是单击按钮时调用的onclick方法。但是代码并不能阻止我的应用程序。它发送一个消息,然后关闭,然后重新启动。我读过一个活动的生命周期模型,顺便说一下,这是一个单一的活动应用程序。我还研究了stackoverflow,许多帖子描述在finish()调用后有一个返回语句,所以我也这样做了,但没有结果。

我哪里错了??

public void onClick(View v) 
    {       
        String text = "Demo Message";
        String number = <set via a particular code>;

        if(number.equals(""))
        {
            Toast.makeText(this, "Please Enter or Select a Number", Toast.LENGTH_SHORT).show();
        }
        else
        {
            sms = SmsManager.getDefault();
            PendingIntent sentIntent = PendingIntent.getActivity(this, 0,
                new Intent(this, Main.class), 0);
            sms.sendTextMessage(number, null, text, sentIntent, null);
            Toast.makeText(this, "Message Sent to : " + number, Toast.LENGTH_SHORT).show();
            // Stop the Activity...
            finish();           
            return;
        }   
    }

一切都很简单。你的PendingIntent在发送短信后调用Main活动。所以过程如下:

  1. 您的应用程序发送短信
  2. 该活动完成后
  3. 但是PendingIntent会再次运行这个activity

您可以简单地通过输入onCreate()方法日志任务来测试这一点,例如Log.d("MyApp", "onCreate()");,您将看到它在发送短信后被调用。

最新更新