我有 Activity 'A'、'B'、'C'、'D'、'E'。主 Activity 是 'A',如 AndroidManifest XML 文件中所定义,在应用程序启动时启动。之后我必须调用另一个 Activity “B”,然后是“C”,“D”,在“D”之后我必须调用“E”。但是当我启动我的应用程序时总是启动主 Activity “A”。但是我,我尝试在第一次启动应用程序时仅调用一次 Activity “A”,之后当我第二次启动应用程序时,我想调用 Activity “B”。如何在 Android 中管理此操作。
这是我的 AndroidMenifest xml 文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sqlitedemo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="10" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.sqlitedemo.A"
android:label="@string/app_name"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.sqlitedemo.B"></activity>
<activity android:name="com.sqlitedemo.C"></activity>
<activity android:name="com.sqlitedemo.D"></activity>
<activity android:name="com.sqlitedemo.E"></activity>
</application>
</manifest>
最佳答案
您不需要更新 list 文件。只需从 A 类重定向到 B 类,为此您需要使用 SharedPreference。
public class A extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences settings=getSharedPreferences("prefs",0);
boolean firstRun=settings.getBoolean("firstRun",false);
if(firstRun==false)//if running for first time
{
SharedPreferences.Editor editor=settings.edit();
editor.putBoolean("firstRun",true);
editor.commit();
//execute your code for first time
}
else
{
Intent a=new Intent(A.this,B.class);
startActivity(a);
finish();
}
}
}
关于java - 如何在Android中管理AndroidManifest xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24523481/