Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中管理AndroidMenifest xml_Java_Android - Fatal编程技术网

Java 如何在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="

我有活动“A”、“B”、“C”、“D”、“E”。主要活动是“A”,如AndroidManifest XML文件中定义的,在应用程序启动时启动。之后我必须调用另一个活动“B”,然后是“C”,“D”,在“D”之后我必须调用“E”。但是当我启动我的应用程序时,总是启动主活动“A”。但是我尝试在第一次启动应用程序时只调用一次活动“A”,然后在第二次启动应用程序时,我想调用活动“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>

您不需要更新清单文件。只需从类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: