主页按钮单击时终止的应用程序?

时间:2013-09-29 17:07:45

标签: android destroy

我想制作Android应用程序,当应用程序将在主页点击时销毁。所以当应用程序再次启动时,应用程序将从头开始重新启动。不恢复apps``

4 个答案:

答案 0 :(得分:1)

@Override
public void onAttachedToWindow()
{  
    Log.i("TESTE", "onAttachedToWindow");
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();  
}

使用此方法,HOME按钮将停止在此活动中工作(仅限此活动)。然后你重新实现,因为这是一个普通的按钮事件(例如后退按钮)。

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_HOME) {
        Log.i("TESTE", "BOTAO HOME");
        return true;
    }
    return super.onKeyDown(keyCode, event);    
}

取自Can I override the 'Home' button in my application?

答案 1 :(得分:0)

在onStop方法中执行此操作

@Override
    protected void onStop() {
        finish();
        super.onStop();
    }

希望这有效

Reference

答案 2 :(得分:0)

您可以覆盖onPause并在每次活动暂停时完成应用。这将在不在前台时销毁应用程序。

@Override
public void onPanelClosed(int featureId, Menu menu) {
    finish();
    super.onPanelClosed(featureId, menu);
}

或者你可以在清单中说,这项活动不应该回归。当不在前台时,这不会破坏应用程序。

    <activity
        android:name="com.testapp.MainActivity"
        android:label="@string/app_name"
        android:noHistory="true" >
    </activity>

答案 3 :(得分:0)

在主要活动的清单中

android:clearTaskOnLaunch="true"
android:finishOnTaskLaunch="true"

来自clearTaskOnLaunch http://developer.android.com/guide/topics/manifest/activity-element.html

的官方文件
  

当值为“true”时,每次用户再次启动任务时,都会   不论它们最后是什么,都会被带到它们的根本活动中   在任务中做,无论他们是否使用Back或Home   按钮离开它。当值为“false”时,可以清除任务   某些情况下的活动(请参阅alwaysRetainTaskState   属性),但并非总是如此。

     

例如,假设有人从家中启动活动P.   屏幕,从那里去活动Q.用户接下来按Home,   然后返回活动P.通常,用户会看到活动   问:因为这是他们上次在P的任务中做的事情。但是,如果P   将此标志设置为“true”,将所有活动设置在其上(Q在此   当用户按下Home并且任务转到了   背景。因此用户在返回任务时只看到P.