在初始屏幕后启动另一个 activity 而不是 mainactivity

Launch another activity rather than mainactivity after splash screen

谁能告诉我如何让我的 android 应用程序执行此命令?

1) 启动画面 (SplashActivity) .. 这是我作为启动器所做的

2) Intro Slider (WelcomeActivity).. 我不知道如何让它在启动后出现。

3) Main Activity .. 我希望它在欢迎之后出现,或者我将通过单击 "GOT IT" 按钮启动它。

提前致谢。

如果我是对的,那么您要问的是如何使用意图和处理程序。首先,您的 splashActivity.java 应该如下所示;

public class SplashActivity extends Activity{

//timer in miliseconds, 1000ms = 1s//
private static int SPLASH_TIME_OUT = 2000;

//create first screen showed when app is launched//
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    new Handler().postDelayed(new Runnable() {
        //showing splashscreen with a timer //

        @Override
        public void run() {
            //this is executed once the timer is over//

            Intent i = new Intent(SplashActivity.this,    WelcomeActivity.class);
            startActivity(i);
            finish();

        }
    },SPLASH_TIME_OUT);

}
}

然后声明您的菜单 activity 并在 AndroidManifest.xml 中启动 activity 例如;

<activity
        android:name=".SplashActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".WelcomeActivity"
        android:screenOrientation="sensor" />
    <activity
        android:name=".MainActivity"
        android:screenOrientation="sensor" />

然后关于如何在欢迎 activity 后打开主 activity,只需将 SplashActivity.java 的代码复制并粘贴到 WelcomeActivity 中,进行必要的更改, 但是对于如何使用按钮打开, 请参阅下面的示例代码 首先你的按钮展示已经在你的 activity_welcome.xml 中设计好了 例如

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_welcome"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.domainname.yourappname.WelcomeActivity"
android:background="@drawable/splash"

<Button
        android:text="@string/got it"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:textAlignment="center"
        android:textSize="30sp"
        android:layout_marginTop="41dp"
    android:textColorHighlight="@android:color/transparent"
    android:textColorHint="@android:color/transparent"
    android:layout_below="@+id/textView3"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

</RelativeLayout>

在你的WelcomeActivity.java

public class WelcomeActivity extends Activity {
Button button;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_welcome);
    addListenerOnButton();

}
public void addListenerOnButton() {

    final Context context = this;

    button = (Button) findViewById(R.id.button);

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent intent = new Intent(context, MainActivity.class);
            startActivity(intent);
            finish();
            Toast.makeText(context, "MainActivity Opened.", Toast.LENGTH_SHORT).show();

        }

    });
}
}

注意:我不知道你在写什么程序,也不知道你到目前为止是如何设计的,这只是一个例子,你可能需要对你的实际代码进行适当的调整运行

回答您 "HOW" 的问题;

首先,确保所有活动都在您的清单中声明如下:

    <application
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".WelcomeActivity" />
        <activity android:name=".MainActivity" />
</application>      

然后在启动计时器结束时在 SplashActivity 中声明:

    //If you're using a "Timer" to count down splash screen
new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                Intent intent = new Intent(SplashActivity.this, WelcomeActivity.class);
                startActivity(intent);

            }
        }, 2000);

在你的 WelcomeActivity 中,无论你在哪里调用结束 activity:

    Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
    startActivity(intent);

您可以找到有关使用意图 here 启动另一个 activity 的更多信息,包括如何为下一个 activity 接收添加额外数据。希望对您有所帮助。