Java 如何在Android中管理AndroidMenifest xml
我有活动“A”、“B”、“C”、“D”、“E”。主要活动是“A”,如AndroidManifest XML文件中定义的,在应用程序启动时启动。之后我必须调用另一个活动“B”,然后是“C”,“D”,在“D”之后我必须调用“E”。但是当我启动我的应用程序时,总是启动主活动“A”。但是我尝试在第一次启动应用程序时只调用一次活动“A”,然后在第二次启动应用程序时,我想调用活动“B”。在Android中如何管理这一点 这是我的AndroidMenifest xml文件Java 如何在Android中管理AndroidMenifest xml,java,android,Java,Android,我有活动“A”、“B”、“C”、“D”、“E”。主要活动是“A”,如AndroidManifest XML文件中定义的,在应用程序启动时启动。之后我必须调用另一个活动“B”,然后是“C”,“D”,在“D”之后我必须调用“E”。但是当我启动我的应用程序时,总是启动主活动“A”。但是我尝试在第一次启动应用程序时只调用一次活动“A”,然后在第二次启动应用程序时,我想调用活动“B”。在Android中如何管理这一点 这是我的AndroidMenifest xml文件 <?xml version="
<?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>
您不需要更新清单文件。只需从类A重定向到类B,为此您需要使用SharedReference
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();
}
}
}
您不需要更新清单文件。只需从类A重定向到类B,为此您需要使用SharedReference
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();
}
}
}
您不需要更新清单文件。只需从类A重定向到类B,为此您需要使用SharedReference
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();
}
}
}
您不需要更新清单文件。只需从类A重定向到类B,为此您需要使用SharedReference
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();
}
}
}
你必须用你自己的逻辑来解决这个问题。您可以使用myfile.txt保存一个标志(或者使用标志默认值为1的属性文件)。当应用程序首次打开时,打开应用程序A并将标志设置为2。下一次应用程序打开时,会显示Flag=2,因此打开应用程序B并将Flag设置为3,以此类推。 无论如何,你都会启动应用程序A,但你可以通过不调用应用程序A的super.onCreate(xxx)来阻止应用程序的完全初始化 在为应用程序A调用super.onCreate之前,编写应用程序打开业务逻辑
简而言之,您必须手动处理应用程序打开。您必须使用自己的逻辑解决此问题。您可以使用myfile.txt保存一个标志(或者使用标志默认值为1的属性文件)。当应用程序首次打开时,打开应用程序A并将标志设置为2。下一次应用程序打开时,会显示Flag=2,因此打开应用程序B并将Flag设置为3,以此类推。 无论如何,你都会启动应用程序A,但你可以通过不调用应用程序A的super.onCreate(xxx)来阻止应用程序的完全初始化 在为应用程序A调用super.onCreate之前,编写应用程序打开业务逻辑
简而言之,您必须手动处理应用程序打开。您必须使用自己的逻辑解决此问题。您可以使用myfile.txt保存一个标志(或者使用标志默认值为1的属性文件)。当应用程序首次打开时,打开应用程序A并将标志设置为2。下一次应用程序打开时,会显示Flag=2,因此打开应用程序B并将Flag设置为3,以此类推。 无论如何,你都会启动应用程序A,但你可以通过不调用应用程序A的super.onCreate(xxx)来阻止应用程序的完全初始化 在为应用程序A调用super.onCreate之前,编写应用程序打开业务逻辑
简而言之,您必须手动处理应用程序打开。您必须使用自己的逻辑解决此问题。您可以使用myfile.txt保存一个标志(或者使用标志默认值为1的属性文件)。当应用程序首次打开时,打开应用程序A并将标志设置为2。下一次应用程序打开时,会显示Flag=2,因此打开应用程序B并将Flag设置为3,以此类推。 无论如何,你都会启动应用程序A,但你可以通过不调用应用程序A的super.onCreate(xxx)来阻止应用程序的完全初始化 在为应用程序A调用super.onCreate之前,编写应用程序打开业务逻辑
简而言之,您必须手动处理应用程序打开。使用SharedReference。当您转到活动A时,请存储一些值。当您在此时再次启动时,请检查SP中是否存在该值。如果存在,则转到B。与此问题相关的答案太多。您需要搜索它们,而不是创建一个新的。请使用SharedReference。当您转到活动A时,请存储一些值。当您在此时再次启动时,请检查SP中是否存在该值。如果存在,则转到B。与此问题相关的答案太多。您需要搜索它们,而不是创建一个新的。请使用SharedReference。当您转到活动A时,请存储一些值。当您在此时再次启动时,请检查SP中是否存在该值。如果存在,则转到B。与此问题相关的答案太多。您需要搜索它们,而不是创建一个新的。请使用SharedReference。当您转到活动A时,请存储一些值。当您在此时再次启动时,请检查SP中是否存在该值。如果存在,则转到B。与此问题相关的答案太多。您需要搜索它们,而不是创建一个新的。正在编写:P+1:)是的,您可以通过启动器活动和首选项来管理它。如果您正在使用活动,您可以将第一个活动设置为初始屏幕,以便您可以在那里进行检查,并在延迟数100毫秒后重定向到所需的活动。你也可以考虑使用相同的片段,这样你就可以在条件检查后膨胀所需的片段。@ Purpple感谢:“王子:它适用于我的应用程序,非常感谢数百万人。很高兴帮助你,快乐CODIDE:”正在编写过程中:P+ 1:是的,你可以从发射器的活动和偏好来管理它。如果您正在使用活动,您可以将第一个活动设置为初始屏幕,以便您可以在那里进行检查,并在延迟数100毫秒后重定向到所需的活动。你也可以考虑使用相同的片段,这样你就可以在条件检查后膨胀所需的片段。@ Purpple感谢:“王子:它对我的应用程序很有用,非常感谢数百万人。很高兴帮助你,快乐CODIDE:”在写作过程中:P+ 1: