下面是单击按钮时调用的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活动。所以过程如下:
- 您的应用程序发送短信
- 该活动完成后
- 但是PendingIntent会再次运行这个activity
您可以简单地通过输入onCreate()
方法日志任务来测试这一点,例如Log.d("MyApp", "onCreate()");
,您将看到它在发送短信后被调用。