2013-07-24 20 views
2

我正在構建一個Android庫,用於其他項目(Android 2.1及更高版本),可能可能運行在屏幕兼容模式下(http://developer.android.com/guide/practices/screen-compat-mode.html),也可能不運行。如何檢測Android應用程序是否在屏幕兼容模式下運行?

有沒有辦法檢測應用程序(在我的情況下,包括我的庫的應用程序)是否在屏幕兼容模式下運行?

假設我不想與寬度< = 320dp設備上運行,並檢查是否該應用程序有寬度< = 320dp可以被認爲是它在兼容模式運行的良好指示? 我真的不喜歡它的文件說:

注意:目前,屏幕兼容模式只有模擬手機 屏幕與320dp寬度,所以屏幕兼容模式是不 應用於任何設備如果您的Android值:compatibleWidthLimitDp 大於320

+0

您可以在此處檢查如何啓用屏幕兼容模式:http://developer.android.com/guide/practices/screen-compat-mode.html#Enable並基於此獲取您的支票。 – g00dy

+0

謝謝,我更新了這個問題。 –

回答

0

在API 17可行的解決方案:

DisplayMetrics metrics = new DisplayMetrics(); 
WindowManager manager = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE); 

Point realSizePoint = new Point(); 
manager.getRealSize(realSizePoint); 

Point scaledSizePoint = new Point(); 
manager.getSize(scaledSizePoint); 

然後比較realSizePointscaledSizePoint座標。 這可能聽起來很不可靠,我沒有測試過這個代碼,但它應該做這個工作。

+0

在API 17中生活很好:) - 我需要Android 2.1+的解決方案(將編輯我的問題) –

相關問題