安卓获取屏幕最大(绝对)分辨率

安卓开发时,在很多应用场景需要获取手机屏幕的真实分辨率,然而查阅了大部分博客提供的获取方法发现获取方法并不对。下面几种常用的方法(错误)和最终正确获取的方法均会展示在下面。

实验场景:Activity(隐藏或不隐藏状态栏、虚拟导航栏等场景)、Service 中。

错误方法一:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;

错误方法二:

WindowManager wm = (WindowManager) (context.getSystemService(Context.WINDOW_SERVICE));
DisplayMetrics metrics = new DisplayMetrics();
wm.getDefaultDisplay().getRealMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;

下面是正确示范:

WindowManager wm = (WindowManager) (context.getSystemService(Context.WINDOW_SERVICE));
Point point = new Point();
wm.getDefaultDisplay().getRealSize(point);
int width = point.x;
int height = point.y;

到这里,你就可以获取到正确分辨率参数了。如果遇到问题,或者无法获取到真实分辨率,可以给我评论或者邮件。^_^

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓BLE开发教程(一) BLE基础

我试图以一种简单的方式去把重要的事情讲清楚。目的是希望BLE协议栈和基础概念简单化,让自己及类似的安卓开发者可以在较短的时间内把握住BLE的核心及使用方法。BLE本身很复杂,但对于安卓开发而言只要抓住一些核心点,便已足够。如果你想全面了…

安卓BLE开发教程(二) BLE开发流程

在安卓上进行BLE开发时,就不必像理解BLE协议栈那样复杂了。因为安卓的BLE包为我们提供了十分丰富的API、各类常量、各类连接通信情况下的回调API等。 具体流程 一、声明权限 二、获取Adapter适配器 三、开启蓝牙 四、BLE扫描与停止 五、连接设备 六、枚举特征…

Linux驱动如何在不同版本上快速迭代升级

As well known,Linux内核版本更新很快,有些内核版本的迭代升级可能会导致在使用的驱动版本存在编译失败或使用的兼容性问题,如何快速定位到内核版本间变更的地方,并处理掉该问题,列一下我常用的解决方法。(…

Ipad平板作为MAC苹果电脑的扩展屏幕的技术研究

直入主题,这方面的研究直接参考当前使用基数最大,反馈最好的两个产品。最新产品讯息,请分别进入各自官网。BTW,Duet Display也跟随Luna Display开始发布硬件了。 Duet Display 颠覆了基于 Wi-Fi 的传统运作原理,改经…

使用std::thread线程相关函数,-static静态编译的程序运行时的一些常见错误

使用std::thread的应用程序,编译时如果是动态链接pthread线程库运行正常,-static静态链接时在某些平台下可能会遇到一些意外错误。如常见编译命令:g -stdC11 test.c -o test -pthread 1、Segmentation fault(段错误) …

C++ Tips

1、析构函数调用时机 <1> 栈中定义的对象程序会自动调用析构函数 例如CLassName object;这样声明的对象&#xff0c;当程序运行到了对象作用域之外或者程序退出&#xff0c;对象都会被销毁&#xff0c;当然析构函数也会被调用 <2> 堆中new的对象 使用new声明的…

The futex facility returned an unexpected error code

在 linux 程序执行中若遇到该错误&#xff0c;考虑下是否是如下变量使用了强制内存对齐导致。 比如&#xff1a;在将如上变量包含到结构体中&#xff0c;强制1字节或2字节内存对齐。 如&#xff1a;信号量相关 struct semaphore&#xff0c;线程相关的 pthread_mutex_t&#…

Windows系统USB转CDC串口驱动限制说明

USB转串口芯片目前主流的几种USB类别有&#xff1a; 1、USB 厂商类&#xff1b; 2、USB CDC类&#xff1b; 3、USB HID类&#xff1b; 其中若使用USB CDC系统内置驱动时&#xff0c;使用时会有诸多特殊性&#xff0c;如下为使用说明&#xff1a; 1、测试中出现若打开串口状…

苹果MacOS系统上安装第三方驱动失败/无效

近期不少用户在苹果系统上安装一些第三方驱动时反馈没有作用&#xff0c;但是驱动安装提示是完成的&#xff0c;并拷贝到了系统的驱动路径下&#xff1b;造成该问题的原因可参见如下苹果官方说明&#xff1a; User-Approved Kernel Extension Loading 引用下第一段官网说明 …

gcc工具链查看默认编译选项

命令&#xff1a; echo "" | gcc -v -x c -E - 如在Ubuntu系统下输出结果为&#xff1a; ramboubuntu:/tmp$ echo "" | gcc -v -x c -E - Using built-in specs. COLLECT_GCCgcc OFFLOAD_TARGET_NAMESnvptx-none OFFLOAD_TARGET_DEFAULT1 Target: x86_6…

OpenWrt 之 MT7628 移植第三方SPI驱动

1、在OpenWrt系统上移植SPI驱动前&#xff0c;首先要确保SPI相关引脚未被复用为其他功能&#xff0c;比如GPIO&#xff1b;以下操作已假定该条件成立&#xff0c;否则请修改相关dts和c文件中复用配置&#xff1b; 2、打开dts配置文件进行修改&#xff0c;这里我是用的硬件为WR…

OpenWrt 之 MT7628 使用GPIO中断

在支持设备树的系统中使用中断一般有2种方式。 一、DTS配置interrupt节点 这里有个挺好的博客&#xff0c;链接地址&#xff1a;https://biscuitos.github.io/blog/DTS-interrupt/ 也即&#xff0c;找到dts文件中的GPIO中断控制器节点&#xff0c;然后在你的dts驱动节点中根…

CH9102 USB转串口应用体验

近期使用CH9102 USB转串口芯片成功用在原有使用CP2102的产品板上&#xff0c;整个替换和验证过程还是很顺利的&#xff0c;顺带写个blog做个记录。 原项目上使用CP2102搭载ESP32实现Arduino物联网应用&#xff0c;采用USB转串口芯片实现串口下载&#xff0c;代码的Debug调试&am…

CH9101 USB转串口替换FT232R和FT230XQ

学生党一枚&#xff0c;前段时间跟着导师做的项目因为上面用到USB转串口芯片FT232R迟迟买不到&#xff0c;所以打算更换成国产USB转串口芯片CH340&#xff0c;对CH340的认识也很早了&#xff0c;很多年前开始直到现在各种开发板上基本都会标配一颗CH340&#xff0c;像某宝上的S…

FT230X芯片的国产化替代

之前有些项目用到FT230XQ芯片&#xff0c;无奈不好买&#xff08;价格高&#xff09;&#xff0c;想找些替代的型号。原先使用国产CH340芯片比较多&#xff0c;顺带去官网找下有没有其他小封装的芯片型号。导航比较方便&#xff0c;从官网的产品中心&#xff0c;选择“USB”分类…

Java Code之多态

Java代码 package com.iteye.badpie.javacode.duotai; /** * 人民警察 */public interface IPolice { /** * 抓小偷 */public void catchThief(); }package com.iteye.badpie.javacode.duotai;/*** 人民警察*/ public interface IPolice {/*** 抓小偷*/public void catch…

最小生成树之prim

prim是设置一个初始结点&#xff0c;寻找其周围最小的边权值&#xff0c;并将该结点作为初始结点&#xff0c;继续寻找现在结点周围的边权值的最小值&#xff0c;但要注意如果这次寻找的某个边权值没有上次的小的话仍然保留上一次的边权值&#xff0c;即lowcast的值将会不变。 …

element-ui自定义表头;el-table自定义表头;render-header自定义表头

自定义表头有两种方式&#xff1a;一种是使用render-header 一种是通过设置 Scoped slot 来自定义表头 一、render-header方式 场景&#xff1a;给表头设置自定义按钮&#xff0c;点击时候 批量下载或做其他事件 给当前的那列设置 :render-header <el-table-column align&…

八皇后算法

From: http://blog.csdn.net/feixiaoxing/article/details/6877965 【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 八皇后是一道很具典型性的题目。它的基本要求是这样的&#xff1a;在一个8*8的…

手机进水急救——爆米花可用来吸干水分

第一步&#xff1a;切断电源一旦手机掉到水里或进了水&#xff0c;请马上断开电源。因为手机的损害往往不是由水本身导致的&#xff0c;而是因为水引发的内部元件的短路&#xff0c;甚至进一步导致元件烧坏或电池爆炸。一旦不能立马关掉手机电源的话&#xff0c;如果你的手机电…