防止某些设备使用我的Android应用程序

时间:2014-06-14 13:29:06

标签: android device screen-size

我正在开发一款Android应用程序,其设计需要至少3.5英寸。我知道这个属性“android:requiresSmallestWidthDp”存在但我无法使用它,因为我的应用程序可以从api级别8开始使用。

所以...如果设备没有3.5英寸的屏幕,有没有办法阻止安装或下载我的应用程序?

2 个答案:

答案 0 :(得分:1)

  

我知道这个属性“android:requiresSmallestWidthDp”存在但我无法使用它,因为我的应用程序可以从api级别8开始使用。

android:requiresSmallestWidthDp未使用。引用the documentation

  

警告:Android系统不会关注此属性,因此它不会影响应用程序在运行时的行为方式。相反,它用于为您的应用程序启用Google Play等服务的过滤功能。但是,Google Play目前不支持此属性进行过滤(在Android 3.2上),因此如果您的应用程序不支持小屏幕,则应继续使用其他大小属性。

  

所以...如果设备没有3.5英寸的屏幕,有没有办法阻止安装或下载我的应用程序?

没有。您可以使用<compatible-screens>将自己限制在small屏幕,这些屏幕将低于3英寸,但您将错过3到3.5英寸屏幕的设备。

另请注意not that many devices have screen sizes that small

答案 1 :(得分:1)

虽然sir commonsware可能是正确的,但他几乎总是这样,我求求不同。您可以尝试在首次运行应用程序时获取设备英寸大小,以检查其是否大于3.5英寸。以下是从this SO post获取的一些代码。

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width=dm.widthPixels;
int height=dm.heightPixels;
int dens=dm.densityDpi;
double wi=(double)width/(double)dens;
double hi=(double)height/(double)dens;
double x = Math.pow(wi,2);
double y = Math.pow(hi,2);
double screenInches = Math.sqrt(x+y);
if(screenInches>3.5){
//run the app
}else{
//show app incompatible message note that you might get bad rating in play store I gave it to youtube app today
}