1.isTaskRoot()解决直接打开影响
android中,isTaskRoot()函数用于判断当前Activity是否为android app的第一个Activity。
if (!isTaskRoot()) {
finish();
return;
}
用途:在默认启动界面 onCreate函数中,setContentView函数调用前加入上面代码,能够避免安装包直接“打开”后,经过放置后台操作,再开启app后,返回仍显示放置后台前的界面。
public boolean moveTaskToBack(boolean nonRoot) 函数用于将当前activity退到后台,但并不结束当前activity。
activity生命周期会执行onStart()、onResume()、onPause()、onStop()。并不执行onCreate()、onDestroy()周期函数。输入参数nonRoot表示此方法对非根activity是否有效,也就是说true表示对所有activity均有效,false表示只对根activity有效。该activity被退出到后台或者他已经在后台了返回true,否则返回false。