我正在使用共享首选项来保存我的应用程序的状态,以便能够在我的 Android 手机重新启动之前进入最后一个活动。我的目的是当Android系统管理内存并推出我的应用程序时,当用户重新进入应用程序时,他们将到达我的应用程序的最后一个活动和屏幕。
这是我的一些代码:
首先是 DispatcherActivity.java :
> package com.lm.rosary;
>
> import android.app.Activity; import android.content.Intent; import
> android.content.SharedPreferences; import android.os.Bundle;
>
>
> public class DispatcherActivity extends Activity {
>
> @Override
> protected void onCreate(Bundle savedInstanceState) {
> super.onCreate(savedInstanceState);
>
> Class<?> activityClass;
>
> try {
> SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
> activityClass = Class.forName(
> prefs.getString("lastActivity", Jfp1.class.getName()));
> } catch(ClassNotFoundException ex) {
> activityClass = Jfp1.class;
> }
>
> startActivity(new Intent(this, activityClass));
> } }
其次是我的示例活动 ( Jfp1.java ),我希望用户在手机重新启动或重新启动时返回此屏幕。Jfp1.java:
> import android.content.SharedPreferences; import
> android.content.SharedPreferences.Editor;
>
>
> public class Jfp1 extends Activity implements OnClickListener { ....
>
> SharedPreferences prefs;
> SharedPreferences.Editor editor;
> .... @Override protected void onPause() { super.onPause();
> SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
> Editor editor = prefs.edit();
> editor.putString("lastActivity", getClass().getName());
> editor.commit(); }
我的应用程序,从 MainActivity 到 Mysterytopray 和 Jfp1 类。DispatcherActivity.java 在单独的类上。
第三个我的清单像往常一样:
> <activity
> android:name=".MainActivity"
> android:label="@string/app_name" >
> <intent-filter>
> <action android:name="android.intent.action.MAIN" />
>
> <category android:name="android.intent.category.LAUNCHER" />
> </intent-filter>
> </activity>
>
> <activity
> android:name="com.lm.rosary.DispatcherActivity"
> android:label="@string/app_name" >
> <intent-filter>
> <action android:name="android.intent.action.MAIN" />
> </intent-filter>
> </activity>
>
> <activity
> android:name="com.lm.rosary.Jfp1"
> android:label="@string/app_name" >
> </activity>
我在 Jfp1 屏幕上,我重新启动了 HP。但惠普重启后,我点击了我的应用程序图标,但 Jfp1 活动没有首先出现。首先出现的主要活动。但实际上,我希望它回到最后一个 Activity,即 Jfp1.java。
我在 Android 上没有经验,所以请任何人给我一些建议并纠正我的编码。非常感谢。