2012-02-28 109 views
1

我創建了在平板電腦和手機上非常好用的應用程序。對於檢測(界面設置)即時使用的寬度和高度.. if width > 1280 - 它必須是平板電腦..但是..我的朋友測試這個應用程序上三星銀河注..這是一個小電話(不是平板),但屏幕分辨率= 1280×800。現在我遇到了顯示問題..可以告訴我 - 有沒有辦法檢測:平板電腦或手機?如何知道:它是手機還是平板電腦?

請告訴我,如果有人知道..

問候彼得。

對不起,因爲我的英語不好..我想要更好。

+0

我不這麼認爲其可能的......由於Android OS開發者認爲,您的應用程序willadapt本身,無論它是設備..也許這就是爲什麼他們有不同的可繪製文件夾的低,中,高分辨率... – ngesh 2012-02-28 08:49:08

+0

@Kheldar http://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Samsung_Galaxy_Note_Screenshot.png/800px -Samsung_Galaxy_Note_Screenshot.png看到這個圖像..姆布里克不正確的瞭解你 – Peter 2012-02-28 08:53:24

回答

0

以像素爲單位的寬度(或高度)不決定屏幕尺寸。屏幕尺寸取決於分辨率(像素)和密度。 Android提供了各種概念來支持不同的屏幕尺寸。詳情請參閱此處:http://developer.android.com/guide/practices/screens_support.html

+0

非常好的鏈接。我會特別補充一點,你可能會發現最常用的佈局大,佈局正常等。 – Knossos 2012-02-28 08:51:03

0

您可以使用類似Device Atlas的內容來檢測用戶代理的這些功能。提供您可以託管自己的API,並且還提供雲服務。兩者都是溢價(付費)

或者,您可以使用類似Wurfl,根據我的經驗,這是不準確的。

0

要讓手機成爲手機,必須能夠撥打電話。你爲什麼不檢查TelephonyManager有一個叫做getPhoneType()的方法。如果它返回PHONE_TYPE_NONE,那麼它不是電話。

+0

好主意,但平板電腦可以調用:( – Peter 2012-02-28 09:24:35

1

你可以試試這個代碼,在Chrome中發現電話分機例如:

static boolean isTablet (Context context) { 
     // TODO: This hacky stuff goes away when we allow users to target devices 
     int xlargeBit = 4; // Configuration.SCREENLAYOUT_SIZE_XLARGE; // upgrade to HC SDK to get this 
     Configuration config = context.getResources().getConfiguration(); 
     return (config.screenLayout & xlargeBit) == xlargeBit; 
    } 
相關問題