我正在开发一款Android应用程序,其设计需要至少3.5英寸。我知道这个属性“android:requiresSmallestWidthDp”存在但我无法使用它,因为我的应用程序可以从api级别8开始使用。
所以...如果设备没有3.5英寸的屏幕,有没有办法阻止安装或下载我的应用程序?
答案 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英寸屏幕的设备。
答案 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
}