0

アクティビティが呼び出される前にAndroidAPIレベルを確認する方法はありますか?このアプリを設定する方法は、APIレベルが15未満の場合、アプリは主にアクティビティと単純なレイアウトを使用する1つのアクティビティを起動しますが、APIレベルが15以上の場合は、別のアクティビティを開く必要があります。よりきれいなレイアウトと、より高いAPIレベルに付属する機能を使用します。

MainActivityから(単純なifステートメントとビルド番号をチェックするだけで)それを行う方法を知っていますが、何かが呼び出される前にこれを行うことができますか?アプリケーションの2つの完全に異なる部分を1つのアクティビティにまとめる必要がある場合、そこでは非常に混雑します...(そして、それほどエレガントではないでしょう...)よろしくお願いします。

4

1 に答える 1

4

それを可能にする組み込み機能はありません。最も簡単な回避策は、現在のAndroidバージョンに応じて適切なアクティビティのみを開始するスタブアクティビティを作成することです。

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 に答える