我正在开发一个应用程序。它是一个单页的秒表应用程序。所以,当我按下主页按钮并再次启动它或从运行的应用程序中运行时,它会创建新的应用程序实例。我想要上一个当前运行的实例。
我在谷歌上搜索了一下,发现我需要设置启动模式。所以,我做了下面这样的事情。但什么都不起作用。还是那个样子。
<activity android:name=".MainActivity"
android:screenOrientation="portrait"
android:launchMode="singleTask"
>
@Override
protected Parcelable onSaveInstanceState()
{
Log.d(TAG, "onSaveInstanceState");
Bundle bundle = new Bundle();
bundle.putParcelable(INSTANCE_STATUS, super.onSaveInstanceState());
bundle.putDouble(STATUS_ANGLE, curAngle);
return bundle;
}
@Override
protected void onRestoreInstanceState(Parcelable state)
{
Log.d(TAG, "onRestoreInstanceState");
if (state instanceof Bundle)
{
Bundle bundle = (Bundle) state;
super.onRestoreInstanceState(bundle.getParcelable(INSTANCE_STATUS));
curAngle= bundle.getDouble(STATUS_ANGLE);
curTime = (int) (60 / (2 * Math.PI) * curAngle* 60);
return;
}
super.onRestoreInstanceState(state);
}
还有一点:它是基于定时器的。这是否意味着我的应用程序必须在后台运行?
您应该使用onSaveInstanceState
保存活动的状态,然后使用onRestoreInstanceState
将其加载回。您可以在开发人员文档中阅读相关内容。