Android活动被杀死与应用程序被杀

时间:2017-09-28 14:59:01

标签: java android android-lifecycle

我的问题

当我的应用程序被杀时,我想调用函数leaveGame()来离开多设备游戏。但是,游戏使用了几个活动来工作。因此,我无法在onStop中调用它,否则每次游戏中的新活动启动时,玩家都会离开游戏()。

有没有办法检查应用程序进程本身是否被杀?

当前解决方案

我目前的解决方案(非常笨重)是在GameActivity调用的所有活动中设置布尔值isCreated。 (例如,MissionActivity)然后我检查它是否已在我的onStop中设置。(参见协调活动here

GameActivity

@Override
public void onStop(){
    super.onStop();
    if(MissionActivity.isCreated==null) leaveGame();
}

MissionActivity

public static Boolean isCreated;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mdgame);
    isCreated = true;
    //etc
}

由于

1 个答案:

答案 0 :(得分:0)

  

有没有办法检查应用程序进程本身是否被杀死?

不,抱歉。

但是,您可以从架构组件中use ProcessLifecycleOwner找出您在前台不再有任何活动的时间。