0

有没有办法在调用任何活动之前检查 Android API 级别?我想设置这个应用程序的方式是,如果 API 级别低于 15,应用程序会启动一个主要使用活动和简单布局的活动,而如果 API 级别高于或等于 15,它应该打开一个不同的活动使用更漂亮的布局和更高 API 级别附带的功能。

我知道如何从 MainActivity 做到这一点(只需一个简单的 if 语句并检查内部版本号),但这可以在调用任何内容之前完成吗?因为如果我必须将应用程序的两个完全不同的部分压缩到一个 Activity 中,它会变得非常拥挤......(而且它不会真的那么优雅......)在此先感谢。

4

1 回答 1

4

没有任何内置功能可以让您做到这一点。最简单的解决方法是创建一个存根 Activity,它只会根据当前的 android 版本启动适当的 Activity。

public class StubActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
            startActivity(new Intent(this, ICSActivity.class));
        } else {
            startActivity(new Intent(this, PreICSActivity.class));
        }

        finish();
    }
}
于 2013-03-27T12:00:46.683 回答