使用return语句或完成调用后,活动仍未完成

时间:2011-12-26 17:31:02

标签: android

以下是单击按钮时调用的onclick方法。但代码并没有停止我的申请。它发送一条消息,然后关闭然后重新启动..我已经阅读了一个活动的生命周期模型,而这是一个单一的活动应用程序。我还研究了stackoverflow,很多帖子描述在finish()调用之后都有一个return语句所以我也做了但没有结果。

我哪里错了???

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

1 个答案:

答案 0 :(得分:3)

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

  1. 您的应用程序发送短信
  2. 活动结束后
  3. 但PendingIntent再次运行此活动
  4. 您只需输入onCreate()方法日志任务(例如Log.d("MyApp", "onCreate()");)即可对此进行测试,您会看到在发送短信后调用它。