这篇文章上次修改于 618 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
Activity 保持后台不退出
有时候想要在连续点击两次返回键时使 Activity
退到后台,但保持不退出,当再次点击 app
时可以继续之前的 Activity
,而不是重新打开新的 Activity
,可以按如下方法做:
private long firstBackPressTime;
@Override
public void onBackPressed() {
long secondBackPressTime = System.currentTimeMillis();
if (secondBackPressTime - firstBackPressTime < 1000) {
moveTaskToBack(true);
} else {
firstBackPressTime = System.currentTimeMillis();
Toast.makeText(this, "再次点击返回键回到桌面", Toast.LENGTH_SHORT).show();
}
}
有的资料里说还需要在 AndroidManifest.xml
中设置 Activity
的 launchMode
属性为 singleInstance
,如下:
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:launchMode="singleInstance"
android:theme="@style/AppTheme.NoActionBar" />
但是据我实际测试,不加这个属性也可以,加了反而不行了。
没有评论