I have scoured the internet for this answer, and I feel like I keep getting close to it but then it turns out to not be quite what I want. If someone posts a quick link that specifies exactly what I need I will be quite disappointed in myself...
I am making an Android app whose minimum api is 4 and android version is 1.6. It works on tablets, but it is not optimized quite yet, so when I publish it I do not want tablets to be able to find it at all. I have read the support screens android pages about adding this code to my manifest:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xLargeScreens="false"
/>
That particular code ( android:xLargeScreens="false") is not supported with android 1.6, so I cannot add that to my manifest. The definition of each screen is pretty vague as well... for instance, the large screen size is defined as "a screen that is significantly larger than a "normal" handset screen". Does that mean the largeScreens are tablets as well? Do I need to set that to false??
So since that is not an option, and knowing my specs... how do I filter my app in the android market so that it does not show up for tablets?
Edit: cite from the android developer guide:
Caution: If you use the
<supports-screens>
element for the reverse scenario (when your application is not compatible with larger screens) and set the larger screen size attributes to "false", then external services such as Android Market do not apply filtering. Your application will still be available to larger screens, but when it runs, it will not resize to fit the screen. Instead, the system will emulate a handset screen size (about 320dp x 480dp; see Screen Compatibility Mode for more information). If you want to prevent your application from being downloaded on larger screens, use<compatible-screens>
, as discussed in the previous section about Declaring an App is Only for Handsets.