Android中获取屏幕信息的几种方式

深入浅出,Andorid 端屏幕采集技术实践 ** 前言 ** 随着全球产业链线上化和数字化的加速,移动端实时屏幕共享在各行各业场景下都有了广泛的应用,比如在线教育、视频会议、远程业务咨询、手游直播。而屏幕采集则是实现实时屏幕共享流程中的第一步,本篇技术分享就来跟大家讲讲拍乐云在 Andorid 端屏幕采集的经验实践。 背景 Android 从 4.0 开始就提供了手机录屏方法,但是需要 root 权限。从 5.0 开始,Google 开放了系统录屏API:MediaProjection 和 MediaProjectionManager,不需要 roo 阅读详情

Android中获取屏幕信息的几种方式


Note:以下方案中的this均指Activity。

方案一

    WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
    //windows manager可以通过getSystemService获取,也可以在Activity中直接获取
    //val wm = this.windowManager
    DisplayMetrics dm = new DisplayMetrics();
    wm.defaultDisplay.getMetrics(dm);
    int width = dm.widthPixels;         // 屏幕宽度(像素)
    int height = dm.heightPixels;       // 屏幕高度(像素)
    float density = dm.density;         // 屏幕密度(0.75 / 1.0 / 1.5)
    int densityDpi = dm.densityDpi;     // 屏幕密度dpi(120 / 160 / 240)
    // 屏幕宽度算法:屏幕宽度(像素)/屏幕密度
    int screenWidth = (int) (width / density);  // 屏幕宽度(dp)
    int screenHeight = (int) (height / density);// 屏幕高度(dp)

方案二

    val wm = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager
    //windows manager可以通过getSystemService获取,也可以在Activity中直接获取
    //val wm = this.windowManager
    val outSize = Point()
    wm.defaultDisplay.getSize(outSize)
    val width2 = outSize.x
    val height2 = outSize.y

方案三

    val dm3 = this.resources.displayMetrics
    val density3 = dm3.density
    val width3 = dm3.widthPixels
    val height3 = dm3.heightPixels
完整写一个根据安卓手机屏幕变化获取文字内容及图片的代码,并根据获取的内容判断是否包含距离或数字的内容,如果包含距离字符,就判断数字大小是否大于等于50,如果条件符合就点击数字的坐标,条件不符合就循环查 / 判断当前文字内容是否包含距离或数字字符。// 获取数字字符所在的位置并点击。// 判断当前文字内容是否包含距离或数字字符。// 获取数字字符所在的位置并点击。// 点击成功后跳出循环。// 判断数字是否大于等于50。// 导入相关的Android SDK类。// 获取当前屏幕上可见的文字内容及图片。// 点击成功后跳出循环。// 循环查找直到找到符合条件的数字字符。// 判断数字是否大于等于50。// 获取当前屏幕上可见的文字内容。// 遍历所有获取到的文字内容。// 遍历所有获取到的文字内容。 阅读详情

相关推荐

【Android】获取屏幕方向的几种方式和最优解

有时我们需要获取屏幕的方向去加载布局, 但是方向不是一成不变的, 如果没有固定screenOritention, 那么就需要我们要知道当前的方向是什么, 特别是我们对DecorView做操作的时候下面, 列举三个方式去获取屏幕的方向如果你希望获取最全面的横竖屏信息, 你可以 方式二 or 方式三, 但是如果你希望获取最全面的传感器角度信息, 那么方式四也加上, 那么为什么不全用方式四呢, 因为你平放手机, 手机传感器就无法通过加速度计算除角度, 从而获取不到了.

weixin_42473228的博客 4196

android屏幕取词的简单实现(二)(使用OCR技术)

原文地址::http://www.tuicool.com/articles/feeEZf 相关文章 1、屏幕取词 被取对象为QT程序 ----http://bbs.youkuaiyun.com/topics/390442683 很久之前就应该完成的东西  直到今天才抽出时间来弄  接着上一篇http://blog.youkuaiyun.com/libaier_gc/article/det

xqhrs232的专栏 4358

android 5.0 获取屏幕状态方式

总结下android中获取屏幕状态的方式

jiuxiaoyunwu的博客 4419

Android获取屏幕信息的几种方式

方式一 //获取屏幕信息的几种方式一: DisplayMetrics metrics = new DisplayMetrics(); WindowManager manager = (WindowManager) this.getSystemService(Service.WINDOW_SERVICE); if (manager != null) ...

苏打水解渴的博客 7230

android中获取屏幕信息,做标准刻度的尺子

在教学app中会有尺子的出现,我们如何获取标准的刻度呢 实现的关键是: 1.获取设备屏幕的信息 2.根据参数绘制尺子 3.设定尺子的相关动作 第一步的关键是DisplayMetrics,它的介绍是A structure describing general information about a display, such as its size, density, and fo

EdwardWayne的专栏 4038

Android中获取屏幕大小的两种方法

使用DisplayMetrics类和WindowManager类,我们可以轻松地获取屏幕的尺寸信息,并根据需要进行屏幕适配或布局调整。在Android开发中,有时我们需要获取设备屏幕的大小信息,以便针对不同屏幕尺寸进行适配或布局调整。本文将介绍两种常用的方法来获取Android设备屏幕的大小,供开发者参考。除了使用DisplayMetrics类,我们还可以使用WindowManager类来获取屏幕大小。Android提供了DisplayMetrics类,可以用于获取屏幕的尺寸信息。来获取屏幕宽度和高度。

TechPulseZ的博客 2361

android中获取屏幕相关信息

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) 在实际应用中经常要获取屏幕的相关信息,比如高度、宽度、密度以及dp/dip和px之间的转换等等,下面这个示例简单介绍一下,代码如下: GetSreenInfoActivity: package com....

孤云博客 3394

Windows 24H2升级后eNSP AR_40报错40?VirtualBox虚拟化修复指南

虚拟化技术通过Hypervisor在操作系统与硬件间建立抽象层,使虚拟机能够共享物理资源。其核心原理依赖CPU的VT-x/AMD-V指令集,而Windows 24H2对内核隔离与驱动签名的强化会直接占用或拦截这些虚拟化资源。在工程实践中,VirtualBox作为Type-2型Hypervisor,常因内存完整性开启或版本过旧导致虚拟网卡创建失败,进而引发设备启动中断。典型场景包括网络仿真实验、多系统测试环境搭建等。当eNSP的AR_40路由器依赖VirtualBox引擎时,24H2的安全策略变更便会触发错误

weixin_34375251的博客 215

安卓 获取屏幕坐标(点击屏幕获取坐标)

工具下载: 实现原理:创建一个背景透明的Activity, 点击屏幕时获取坐标信息并显示。在悬浮窗中调用该Activity,可以获取所有界面的坐标信息。 package sc.tool.screen; import sc.tool.component.ActivityComponent; import android.content.Context; import andro...

暂无内容 1万+

SOLIDWORKS转CAD字体终极选择:TrueType vs SHX,哪个才是你图纸协作的“安全牌”?

本文深入探讨SOLIDWORKS转CAD工程图中的字体选择问题,对比TrueType与SHX字体在DWG文件协作中的表现。通过真实案例揭示字体映射的兼容性陷阱,提供企业级字体管理方案,帮助工程师规避版本差异、系统依赖和法律风险,确保图纸协作的稳定性。

weixin_34233974的博客 264

Win10/Win11系统下,用VSCode编译Betaflight固件最全避坑指南(从GCC安装到HEX生成)

本文详细介绍了在Win10/Win11系统下使用VSCode编译Betaflight固件的完整流程,包括GCC安装、环境变量配置、终端选择、Make工具安装等关键步骤,帮助开发者避开常见陷阱,高效生成HEX文件。特别针对VSCode环境优化和编译错误排查提供了实用解决方案。

weixin_42557803的博客 415

android 获取屏幕信息的使用

displaymetrics   java.lang.object ↳ android.util.displaymetrics   java.lang.object ↳ android.util.displaymetrics 类概述 一个结构描述关于显示的一般信息,如的大小,密度,和字体缩放。 访问di

aiqing0119的专栏 2976

SAP 发货在途库存管理:POD确认差异下的2种后续调整方案对比

本文详细解析了SAP发货在途库存管理中POD确认差异后的财务调整方案,对比了移动类型417和555 T两种处理方式的适用场景及财务影响。通过实际案例说明如何优化POD流程,减少库存差异损失,提升供应链管理效率。特别适合SAP SD模块用户及供应链管理人员参考。

chiman6219的博客 394

android 代码获取屏幕图像,安卓获取屏幕以及获得像素点 ~ 大树洞

由于一些不可告人的需求,所以开始寻找各种可以实现安卓实时获得屏幕上某个像素点的功能首先,将需求进行拆解,分别为1、获得屏幕2、获得屏幕上一个像素点获得屏幕获得屏幕分为比较多种的方式,在以前大致分为adb screencap 获取当前屏幕linux 底层 通过frameBuffer获得屏幕信息我没试过我也不知道好不好用参考1参考2通过 MediaProjection 屏幕录制获得图像参考我使用的是 ...

weixin_39640024的博客 2299

动手学Moveit2 | 运行配置好的机械臂功能demo

通过这个小demo你可以直观的感受moveit2的强大,但还有很多需要我们探索的,比如机械臂是如何规划的,规划的过程中如何结合环境信息,规划的时候机械臂如何求解,如何和真实的机械臂对接等等,这些都需要你来进一步探索,今天就到这里,明天给大家秀一下小仙女焊的fishbot运控板。

生活不止眼前的苟且 8879

VS2019手动添加bits/stdc++.h全指南(附解决‘无法打开源文件‘错误)

本文详细介绍了在Visual Studio 2019中手动配置C++万能头文件bits/stdc++.h的完整方法,解决常见的'无法打开源文件'错误。通过分析GCC与MSVC编译器生态差异,提供了纯手动创建和MinGW移植两种可靠方案,并给出详细的步骤、常见错误排查及最佳实践建议,帮助开发者高效配置竞赛开发环境。

weixin_29011395的博客 545

Android 获取屏幕信息

//获得手机的宽度和高度像素单位为px // 通过WindowManager获取          //必须在Activity中获取,即使使用Context 也必须强转为Activity public void getScreenDensity_ByWindowManager(){ DisplayMetrics mDisplayMetrics = new DisplayMetrics();

LIAN_1988的专栏 1644

Gmsh+OCC对应版本库编译

输入 GMSH_DLL_EXPORT值C:\LIB\OCCT-7_8_0-i;9、如果只是生成库文件编译gmesh工程即可生成文件在C:\LIB\Gmsh\gmsh-4.13.1-Windows64-B\Debug 下gmsh.dll、gmsh.lib、gmsh.h、gmshc.h文件;3、CMAK编译Gmsh对应OCC版本的,CMAK选择源文件路径C:\LIB\Gmsh\gmsh-4.13.1-source,生成构建文件路径C:\LIB\Gmsh\gmsh-4.13.1-Windows64-B。

u013401364的博客 411

android获取版本信息、屏幕信息和设备编号

1、获取版本信息:

annieLiu502的专栏 2456

直流无刷电机FOC控制算法 理论到实践 —— 理论(二)

在上一章节,我们对于FOC大体有了一个介绍,本博文将详细描述有关Clark变化、Park变化、反Park变化以及SVPWM的理论实现原理,也即相关数学运算实现。

爱出名的狗腿子 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

android 获取设备编码,android获取版本信息、屏幕信息和设备编号

1、获取版本信息:/*** 获取version*/try {PackageInfo info=getPackageManager().getPackageInfo(this.getPackageName(), 1);Log.i("info","info.versionCode:"+info.versionCode);Log.i("info","info.versionName:"+info.ver...

weixin_35711852的博客 948

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android 获取屏幕宽度和高度的几种方法

方法一: public static void getScreenSize1(Context context){ WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Display defaultDisplay = window...

Davis 3783

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

安卓用adb获取手机亮度信息两种方式

介绍adb命令两种方法获取安卓手机亮度信息,cat brightness和adb shell “dumpsys power | grep mScreenBrightnessSetting”。 方法一:cat brightness。 1.adb shell。 2.cd sys/class/leds/lcd-backlight。 出现No sucn file or directory 先cd sys...

qq_36408645的博客 7139

android获取屏幕信息

1.屏幕尺寸,源代码如下:      DisplayMetrics metrics = new DisplayMetrics();        getWindowManager().getDefaultDisplay().getMetrics(metrics);       int screenWidth=metrics.widthPixels;            //屏幕宽度

yunjinwang的专栏 901
上一篇: Android SparseArray和LruCache
下一篇: Android自定义View-画一个Chrome浏览器Logo
Fore7erLe3
博客等级 码龄12年 9粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值