2012-10-19 46 views
1

我聽說有一個關鍵字或方法可供Android開發人員用來確定Android 4.0+是否在平板電腦上運行(無需執行任何屏幕尺寸比較)。我找不到它。Android 4.0+平板電腦關鍵字?

那麼,這是真的嗎?如果是這樣,那是什麼?

編輯:我看到人們給我的答案不是我要找的。我已經知道如何使用kludgy屏幕大小方法和使用OS方法來確定設備是平板電腦還是手機。我正在尋找一種從API級別14開始可用的方法,希望能夠告訴我相同的信息。我找不到它,所以我想知道它是否存在。

+1

看到http://stackoverflow.com/questions/5832368/tablet-or-phone-android – mfrankli

回答

0

的Android 4+有configuration object。您可以使用「isLayoutSizeAtLeast(int size)」方法進行檢查。這比我見過的其他一些例子要少得多。

+0

這與我正在尋找的答案更接近 –

+0

這與我發佈的內容完全相同,自API 1開始提供,儘管具體方法在11(Android 3.0)中引入。 – Ralgha

+0

Ralgha的權利,這是相同的答案。如果我記得他在2分鐘內擊敗了我(當我找到鏈接時他的帖子上升了)。 – Billdr

1

平板電腦基本上只是意味着一個大(呃)屏幕,所以它歸結爲這一點。有看到一個簡單的方法,如果它是一個平板電腦大小的屏幕與否:

if (getResources().getConfiguration().isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_XLARGE)) 
{ 
    //Is a tablet. 
} 

你可以改變Configuration.SCREENLAYOUT_SIZE_XLARGEConfiguration.SCREENLAYOUT_SIZE_LARGE,如果你想趕上較小的了。

+1

我實際上明確要求在Android 4 +的能力。我還明確表示,我不希望涉及屏幕大小比較的解決方案。 –

+0

你說你不希望「kludgy」屏幕尺寸比較。雖然「kludgy」是主觀的,但大多數人可能會認同這種方法不是「笨蛋」。 Android 4+能夠做到這一點。如果你還想知道它是否是Android 4+,那麼你可以執行'if(android.os.Build.VERSION.SDK_INT> = 14)'。 – Ralgha

0

由於Android文檔中所描述的,SDK水平(整數)的手機運行在可用:

android.os.Build.VERSION.SDK_INT;

對應於此int的枚舉位於android.os.Build.VERSION_CODES類中。

代碼示例:

int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
if (currentapiVersion >= android.os.Build.VERSION_CODES.FROYO){ 
    // Do something for froyo and above versions 
} else{ 
    // do something for phones running an SDK before froyo 
} 

編輯:這SDK_INT可自甜甜圈(Android的1.6/API4),所以請確保您的應用程序是不是蛋糕(Android的1.5/API3)復古兼容,當你使用它或者你的應用程序會崩潰(感謝程序員布魯斯的精確度)。

Link