正确获取屏幕分辨率的方法
2023-01-24 09:16:15 最后更新
//代码出自1335347584
//最近修复之前的录屏项目,发现始终适配不了,经测试发现swh获取的屏幕高度不对,在全面屏手机上获取的比实际小一些,此代码可以获取到Activity的实际屏幕信息
//看起来比较简单的一种,和iapp的swh()一样
java(a,activity,"android.view.ContextThemeWrapper.getResources")
java(b,a,"android.content.res.Resources.getDisplayMetrics")
javags(c,b,"android.util.DisplayMetrics.heightPixels")
syso(c)

//正确的获取姿势
javanew(dx,"android.util.DisplayMetrics")
java(act,activity,"android.app.Activity.getWindowManager")
java(bm,act,"android.view.WindowManager.getDefaultDisplay")
java(null,bm,"android.view.Display.getRealMetrics","android.util.DisplayMetrics",dx)
//实际手机高度
javags(高度,dx,"android.util.DisplayMetrics.heightPixels")
syso(高度)

//实际手机宽度,一般没这个问题
javags(宽度,dx,"android.util.DisplayMetrics.widthPixels")
syso(宽度)