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.
重定向到那里
我了解到只要我在我的设备中单击该应用程序,无论哪个 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.
重定向到那里