我需要一种方法来检测设备屏幕大小和密度与亚行。如果没有解决方案,我在哪里可以得到所有现有android设备的屏幕大小和密度的完整列表?
发布于 2014-12-10 10:23:24
您还可以通过ADB访问WindowManager:
$ adb shell wm
usage: wm [subcommand] [options]
wm size [reset|WxH]
wm density [reset|DENSITY]
wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]
要获得屏幕分辨率:
$ adb shell wm size
Physical size: 2880x1600
要获得屏幕的密度:
$ adb shell wm density
Physical density: 320
还可以通过添加新的密度来覆盖密度:
$ adb shell wm density 160
发布于 2012-02-20 19:01:27
液晶显示密度在build.prop中:
adb shell getprop ro.sf.lcd_density
并且该解析在输入活动的虚拟库中可用:
# windows
adb shell dumpsys window | find "DisplayWidth"
# linux
adb shell dumpsys window | grep DisplayWidth
它能在我测试过的所有设备上工作(2.2,2.3.3,2.3.4,4.0.3;宏碁液体E,HTC Wildfire S,HTC Incredible,Motorola Atrix 4G,三星Galaxy Note,三星Galaxy Nexus),以及仿真器,尽管仿真器的输出太干净,不能作为解析的好例子。
发布于 2014-10-03 19:58:19
dumpsys window displays
如下所示:
Display: mDisplayId=0
init=1080x1920 480dpi cur=1080x1920 app=1080x1920 rng=1080x1005-1920x1845
layoutNeeded=false
另一种方式是:
dumpsys display
还展示了一些有趣的东西,如:
mDefaultViewport=DisplayViewport{valid=true, displayId=0, orientation=0, logicalFrame=Rect(0, 0 - 1080, 1920), physicalFrame=Rect(0, 0 - 1080, 1920), deviceWidth=1080, deviceHeight=1920}
最后但并非最不重要的是:
dumpsys power
会显示这样的东西
Electron Beam State:
mPrepared=false
mMode=2
mDisplayLayerStack=0
mDisplayWidth=1080
mDisplayHeight=1920
mSurfaceVisible=false
mSurfaceAlpha=0.0
可以很容易地用于grep,用于mDisplayWidth和mDisplayHeight。
https://stackoverflow.com/questions/7527459
复制相似问题