2011-05-06 25 views
5

是否可以通过特定设备或设备功能(屏幕分辨率,处理器,磁盘空间等)来限制Android Market上应用的销售?限制特定设备销售应用程序?

我知道我会被人们轰炸说,如果你设计好你的应用程序,它应该能够在任何大小的设备上运行。这一切都很好,但有一些原因可能仍然需要通过功能集进行限制。

很容易想到的一个原因是屏幕分辨率。显然,并非所有的应用程序都可以在所有屏幕尺寸上工作,特别是如果您有大量的图像被制作出来以充分利用更大的屏幕分辨率。为了说明这一点,想象一下,明天将有一款新的Android设备出现,屏幕分辨率为100x100。很明显,有些应用程序无法在此设备上最佳运行。作为一名开发人员,我希望确保我的应用程序仅在具备我需要的功能的设备上运行,以支持最佳体验。

我不想把它卖给某些设备的用户防止负面评级和我经常在其他应用上看到的评论。我宁愿在少量设备上提供完美的体验,也不愿在所有设备上留下不完美的体验。

Android Market是否提供处理此问题的任何方法?

+0

AndroidManifest是您指定信息的地方。特别是关于权限和屏幕大小的部分。按照@ mfisch的指示。 – 2011-05-06 05:48:56

回答

4

我认为你可以在你的AndroidManifest文件中做你需要的。例如,您可以选择只支持这样的超大屏幕分辨率:

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

这些尺寸在下面的链接定义,例如“正常”是中密度HVGA。阅读下面的链接了解更多详情。

http://developer.android.com/guide/topics/manifest/supports-screens-element.html

“如果你的应用程序不支持小屏幕,则没有太多可制做,使应用程序的工作以及更小的屏幕上,所以外部服务(如Android Market)的应不允许用户在这些屏幕上安装应用程序。“

您可能还需要设置元素,虽然我还没有尝试过自己,这似乎是在网上与你想要的东西:

http://developer.android.com/guide/topics/manifest/compatible-screens-element.html

“的Android系统不读manifest元素(无论是在安装时还是在运行时),这个元素只是信息性的,可能被外部服务(如Android Market)用来更好地理解应用程序与特定屏幕配置的兼容性并为用户启用过滤。未在此元素中声明的配置是应用程序不兼容的屏幕,因此,外部服务(如Android Market)并不会将应用程序提供给具有此类屏幕的设备。“

你要在这里阅读更多的也看到了市场的做这一切信息的内容:

http://developer.android.com/guide/appendix/market-filters.html

因为我还没有试过,这是我不清楚你是否应用程序应该使用上面提到的两个元素,但市场过滤器页面可能会解释使用哪个元素。

相关问题