仅定位Android电子市场中的高分辨率(像素)设备

时间:2010-09-07 03:16:12

标签: android filter google-play screen-resolution

我想发布一个专门在800x480或更高屏幕上运行的应用程序。

我不希望拥有480x320,320x240等设备的用户从Android Market获取它。我该如何配置?

Market Filters似乎有答案,但我仍然没有得到答案。

5 个答案:

答案 0 :(得分:6)

不幸的是,在目前的市场状态下,您无法做到这一点。根据{{​​1}} reference doc - 您只能按“屏幕尺寸”进行过滤,如您所述,WVGA / FWVGA分辨率为“正常”。

您可以让您的应用使用<supports-screens>类使用DisplayMetricsheightPixels以编程方式检测它,但这只是在购买/安装之后,我认为您应该避免

答案 1 :(得分:2)

我没有在Android上试过这个,但我认为这应该可行:

  • 让您的应用成为试用版应用,以便免费下载,但一天之后不会免费说明。
  • 现在在您的应用程序中执行以下两项操作之一:在应用程序启动时检测屏幕大小并显示一条通用消息,说明不支持此屏幕分辨率并显示退出按钮。另一种方法是让layout-480x320文件夹显示相同的消息,并提供退出按钮以退出应用程序。这样,您可以让所有不受支持的屏幕尺寸显示此消息,并且没有任何功能。默认的layout文件夹当然会包含支持的屏幕大小的UI。这种方式在非支持的设备上,您也可以说明消息中支持的所有手机。
  • 别忘了在您的清单文件中添加<supports-screens android:anyDensity="false" />
  • 现在,当用户在不受支持的设备上下载您的应用时,他/她将不会因为一天的试用而被收费,并且还会清楚地显示他/她的设备不受支持并且可以退出和卸载该应用。

这不会使您的应用在不支持的分辨率上不可见,但允许使用干净简单的机制与用户进行通信。

答案 2 :(得分:1)

点击google后我发现是清单配置:

<compatible-screens>
<screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
        android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] />
...

如描述here.

在您的情况下,您可以将下载量降低到以下大小:

WVGA800(480x800) WVGA854(480x854) 600x1024

这些屏幕占有71%的市场份额。

向下滚动以下链接以查找市场份额和分辨率“名称”。

market share

scroll down to find resolution names

希望有所帮助。干杯

答案 3 :(得分:0)

更新:这不起作用(请参阅下面的评论)

在你的清单中:

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

答案 4 :(得分:0)

就Android app 而言,我不确定。好问题。

但是,如果您使用HTML / Javascript编写浏览器应用程序,则可以使用screen.width / height,document.documentElement.clientWidth / Height以及其他一些方法的组合来检入Javascript。如果您真的想这样做,这将是一种阻止您的网站使用低分辨率计算机的方法。

您还可以使用媒体查询指定CSS根据屏幕大小做出不同的反应,尽管这不是关于阻止而是更多地适应环境。

Quirksmode网站has a good article,了解在移动浏览器环境中筛选屏幕尺寸和其他属性的复杂性。