【问题标题】:How do I set splash screen and other activities in order at android manifest?如何在 android manifest 中按顺序设置启动画面和其他活动?
【发布时间】:2020-03-07 20:23:00
【问题描述】:

我正在尝试添加我的初始屏幕以首先出现,然后它会转到注册页面。我的 android 清单代码如下。我现在知道我的意图默认是注册,视图是启动。我试着在两者之间改变它们。在这种情况下,启动屏幕首先出现并直接进入 mainactivity。请帮忙!

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mohsin.tourlog">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".SplashActivity"
            android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>

        </activity>
        <activity android:name=".signin" />
        <activity android:name=".signup"
            android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
            <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

        <activity android:name=".MainActivity">

        </activity>
    </application>

</manifest>

【问题讨论】:

    标签: android android-studio android-activity


    【解决方案1】:

    试试这个(像这样你必须实现你的):

      <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="abhiandroid.com.splashscreen">
    
    <application
    android:allowBackup="true"
    android:icon="@drawable/abhiandroid"
    android:label="@string/app_name"
    android:supportsRtl="true"
    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=".signin"/>
    <activity android:name=".MainActivity"/>
    
    </application>
    
    </manifest>
    

    飞溅活动:

        public class SplashActivity extends Activity {
    
    Handler handler;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splashfile);
    
        handler=new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent=new Intent(SplashActivity.this,MainActivity.class);
                startActivity(intent);
                finish();
            }
        },3000);
    
    }
    }
    

    【讨论】:

    • 非常感谢大家。它有帮助。
    【解决方案2】:

    从您的“注册”活动中删除您的意图过滤器。

    来自

     <activity android:name=".signup"
        android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
    
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter></activity>
    

    <activity android:name=".signup"
        android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" />
    

    如果您想在几秒钟内显示您的 Splash 活动,请继续您的注册。您可能希望使用 Handler 类等待几秒钟,然后使用意图调用活动。

    【讨论】:

      【解决方案3】:

      首先,AndroidManifest 是为系统定义活动。
      你应该设置

      <intent-filter>
            <action android:name="android.intent.action.MAIN" />
      
            <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      

      为您的初始屏幕和初始屏幕设置startActivity() 任何您想要的和您的条件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多