Android Studio 如何根据用户的Android版本创建不同的启动Activity?

tyu7yeag  于 2023-10-23  发布在  Android
关注(0)|答案(1)|浏览(140)

他们为Android 12及以上版本引入了一个新的闪屏API:https://developer.android.com/develop/ui/views/launch/splash-screen
我想把它应用到支持它的Android版本,同时保持旧的闪屏方法为旧的Android版本.在较旧的Android版本中,启动屏幕的方法是创建一个名为SplashActivity的单独Activity:

public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}

并将其设置为显示中的主启动点:

<activity
    android:name=".SplashActivity"
    android:theme="@style/SplashTheme"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

<activity android:name=".MainActivity" />

因此,我希望SplashActivity仅适用于低于31的API,并且我希望在31和更高版本的API上使用较新的Splash Screen方法。是否可以为每个API创建不同的清单?

jdzmm42g

jdzmm42g1#

您可以使用启动画面Compat库。查看迁移指南here

相关问题