1

次を使用して、アプリがさまざまなバージョンの Android で実行されているかどうかを確認できます。

int sdk = Build.VERSION.SDK_INT;
if (sdk <= Build.VERSION_CODES.ECLAIR){
    //do stuff
} else {
    //do some other stuff
}

タブレットの使用に関するそのようなチェックはありますか?現在、気に入らないことを確認する方法は 2 つあります。

Configuration configuration = getResources().getConfiguration();
if (configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) {
   try {
       return configuration.screenWidthDp >= 1024; 
    } catch (NoSuchFieldError ex) {
        return false;
    }
} else {
    return false;
}

また、別のビュー ID を持つ別のレイアウト ファイルを使用すると、次のようになります。

return findViewById(R.id.mytabletlinearlayout) == null;

これに利用可能なバージョンコードのようなものはありますか? または、別のよりエレガントなソリューションはありますか?

編集

わかりやすくするために、タブレットでアプリを実行している場合は、いくつかの異なるアクションを実行する必要があります。これは、マルチペイン レイアウトを使用しているためです。

4

2 に答える 2

3

スマートフォンとタブレットの違いは明確に定義されていない (変更される可能性がある) ため、タブレットを検出しようとするのではなく、画面サイズを検出し、デバイスがサポートする機能を検出することを検討してください。

機能を検出するには、PackageManagerクラス、具体的にはhasSystemFeatureまたはgetSystemAvailableFeaturesを使用します。画面サイズを検出するには、さまざまなフォルダー内のレイアウトの変更をスニッフィングする 2 番目のアプローチが適切な処理方法です。

実行時に利用可能な機能を確認すると、背面カメラやその他の機能がないと仮定するなど、事前にタブレットについて一般化する必要はありません。

于 2012-07-02T20:54:47.060 に答える
0

タブレットで実行されているかどうかを確認するには、この回答で十分です。ただし、間違った質問をしている可能性があることに注意してください。プログラムは、使用しているデバイスの特定の特性についてもっと心配する必要があります。(例: 画面サイズ、メモリ容量など)

于 2012-07-02T20:54:50.113 に答える