我在点击状态栏通知时调用了一个活动,该通知具有完整按钮。点击btn。我有以下代码 -
public void completeTask(){
taskDBAdapter.deleteReminder(rowId);
taskDBAdapter.close();
Intent intent = new Intent(this, TaskManagerActivity.class);
startActivity(intent);
finish();
}
当我点击完成btn新活动(TaskManagerActivity)正确打开。但是如果我重新打开我的应用程序,它仍然会尝试打开此活动而不是我的默认登陆活动。对此有任何帮助。??
编辑 -
我尝试重新定位我的finish()语句。仍然没有用。
编辑1.1 - 好的,我会在这里提供一些细节。假设我的应用程序有两个活动
我的应用会创建一些通知,以显示在状态栏上。因此,只要我点击状态栏,通知就会打开。现在有一个名为Complete的按钮,点击该按钮将触发给定的代码,主要活动(在代码TaskManagerActivity.class中)将打开。但是在我按下我的应用程序中的后退按钮并再次重新打开它之后,它会在应该触发主要活动时打开通知活动(因为它是启动活动)。
谢谢, 射线
答案 0 :(得分:2)
这是android功能的默认方式。如果您按下主页按钮然后再次打开您的应用程序,它将恢复应用程序以前的状态(除非由于内存限制它已杀死应用程序进程和活动)。所以你实际上并没有重新启动你的应用程序而只是恢复它。
如果您想退出应用程序,请按后退按钮。现在,当您重新打开应用程序时,将启动原始活动。
请勿修改此行为。这是默认的系统行为,用户希望它以这种方式工作。你的应用很好: - )
答案 1 :(得分:0)
- 首先,您遇到的行为是Android的运行方式,而且当用户在此应用程序打开时接到电话,完成应用后他肯定会想要回到他离开申请的状态。
如果你想这样,那么这就是......
- 使用android:launchMode="singleTask"
,或 android:launchMode="singleInstance"
- 然后finish()
您的onPause()
活动。
@Override
void onPause()
{
super.onPause();
finish();
}