Android 清单开始 activity

Android manifest start activity

我了解到只要我在我的设备中单击该应用程序,无论哪个 activity 包含 .MAIN 和 .LAUNCHER 都会首先启动,而且我还了解到活动的顺序并不重要。我的应用程序包含两个活动,第一个 .MainActivity 和第二个 .MainActivity2Activity。在 .MainActivity2Activity 执行此操作之前,我已经在 .MainActivity 的两个活动中编写了 .MAIN 和 .LAUNCHER 应用程序正确启动但是当我更改顺序时 .MainActivity2Activity 以假数据开始 **first ("hello world appears from nowhere") 并且 .MainActivity 没有启动(单击 .MainActivity2Activity activity 中的后退按钮)。我的问题是,活动的顺序是否重要以及为什么它没有显示两个活动包含 .MAIN AND 的任何错误。启动器,以及 HELLO WORLD 出现的位置。

<activity
        android:name=".MainActivity"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity2Activity"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/title_activity_main_activity2"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.utkarsh.beatle.app.MainActivity" />

    </activity>

要从当前活动开始另一个 Activity,您必须使用 Intent,它不会仅通过选择后退按钮打开,将 LAUNCHER 设置为 Activity 你想先打开,假设 MainActivity2 然后在你的 MainActivity2 里面写

public class MainActivity2 extends Activity(){
     protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ui);

    //Calling other activity
    Intent intent=new Intent(MainActivity2.this,MainActivity.class);
    startActvity(intent);
  }
}

Launcher activity 是将在启动应用程序时执行的启动器,如果您同时指定这两个活动都是启动器,那是没有意义的。您需要使用意图在两个活动之间切换,以便更好地指导 post 您的代码在这里....

这是为 2 个活动编写代码的方式

<activity
        android:name=".MainActivity"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity2Activity"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/title_activity_main_activity2"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar">

    </activity> 

xml 启动它首先找到的 activity,因此是您写在上面的那个。 对于 hello world 问题,可能是您有一个 textView,其原始值可能是 hello world,您从 intent 调用中获取了一些值并将其替换为该值。 因此,当它作为 main 直接启动时,它的值是 Hello World。

它没有显示错误的原因是即使不推荐,您也可以进行 2 次活动。您只需要在 xml.

中的其中一个中包含此代码
android:taskAffinity="your.own.package.SecondActivity"

它们应该都有各自的图标,因此请为它们保留不同的名称或图标。 每一个都会推出不同的activity。 后退按钮不会带你回家,因为你在第二个 activity 上直接启动并且没有从第一个 activity.

重定向到那里