2013-07-24 55 views
1

我正在製作一個只能在平板電腦上運行的應用程序,而不是手機。我使用這個代碼,但它的安裝,甚至在移動也。如何限制該應用程序不會在平板電腦上運行,只能在手機上運行

請幫助我如何申請平板電腦。

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="16" /> 

<supports-screens 
    android:anyDensity="true" 
    android:largeScreens="false" 
    android:normalScreens="false" 
    android:requiresSmallestWidthDp="600" 
    android:smallScreens="false" 
    android:xlargeScreens="true" /> 
+0

有一種答案[這裏](http://stackoverflow.com/questions/15361292/manifest-limits-to-only-tablets-but-app-is-still-available-to-samsung-galaxy-s2)。 我認爲你應該把anyDensity設置爲false –

回答

-1

您可以使用此代碼來檢測設備是平板:

public boolean isTablet() { 
     Log.d(Constants.TAG, "CHECK_TABLET isTablet entry["+isTablet+"]"); 
     if (isTablet == null) { 
      int deviceSizeMask = getResources().getConfiguration().screenLayout 
        & Configuration.SCREENLAYOUT_SIZE_MASK; 
      float screenDensity = getResources().getDisplayMetrics().density; 




      if (deviceSizeMask == Configuration.SCREENLAYOUT_SIZE_XLARGE 
        || (deviceSizeMask == Configuration.SCREENLAYOUT_SIZE_LARGE && screenDensity < 2.0f)) { 
       isTablet = true; 
      } else { 
       isTablet = false; 
      } 

      Log.d(Constants.TAG, "CHECK_TABLET deviceSizeMask["+deviceSizeMask+"] screenDensity["+screenDensity+"] isTablet["+isTablet+"]"); 
     } 
     Log.d(Constants.TAG, "CHECK_TABLET isTablet exit["+isTablet+"]"); 
     return isTablet; 
    } 
1
如果你希望你的應用程序只提供給平板設備

,你可以在你的清單這樣的聲明元素:

<supports-screens android:smallScreens="false" 
         android:normalScreens="false" 
         android:largeScreens="true" 
         android:xlargeScreens="true" 
         android:requiresSmallestWidthDp="600" /> 

更多的是指這個Link

+0

我使用了相同的支持屏幕,但仍然安裝在2.2 htc – user2601652

1

這可能會幫助你:

http://developer.android.com/guide/practices/screens-distribution.html http://developer.android.com/guide/topics/manifest/compatible-screens-element.html http://developer.android.com/google/play/publishing/multiple-apks.html

<manifest ... > 
    <supports-screens android:smallScreens="true" 
         android:normalScreens="true" 
         android:largeScreens="false" 
         android:xlargeScreens="false" 
    /> 
    ... 
    <application ... > 
     ... 
    </application> 
</manifest> 

Android Market的濾鏡的應用如果設備屏幕尺寸和 密度不匹配任何屏幕配置....

參見How can I ensure that my app is only available to phones on Android Market?

相關問題