Android学习笔记(37):用Configuration类获取和监听设备信息

简介:

Configuration类用于描述手机设备上的配置信息。有时候我们的app需要获取手机的系统信息,并根据手机的信息来调整我们的app,这时候我们就需要用到Configuration类。

 

1)获取Configuration对象

调用Activity的方法获取系统的Configuration对象:

Configuration config = getResources().getConfiguration();

 

(2)获取设备系统信息

在获取了Configuration对象之后,直接访问Configuration的共有对象就可以获取设备系统信息。

我们可以通过该对象获取系统的如下配置信息:  

public int densityDpi 是android系统为不同屏幕尺寸、分辨率提供统一单位(dp)的一个可变参数。

 

public float fontScale:字体的缩放因子。

 

public int keyboard:设备关联的键盘类型。返回值为:KEYBOARD_12KEYKEYBOARD_NOKEYSKEYBOARD_QWERTY等。

 

public int keyboardHidden:表示键盘是否可用。

HARDKEYBOARDHIDDEN_NO表示硬键盘不可用,但软键盘可用

HARDKEYBOARDHIDDEN_YES 表示软硬键盘都不可用

 

public Locale locale:获取用户当前所在的地区。

 

public int mcc:获取移动信号的国家码。

public int mnc:获取移动信息的网络码。

 

public int navigation:设备方向导航设备的类型。

返回值为:

NAVIGATION_DPADDPAD导航

NAVIGATION_NONAV:无导航

NAVIGATION_TRACKBALL:轨迹球导航

NAVIGATION_UNDEFINED:不明

NAVIGATION_WHEEL:滚轮导航

 

public int orientation:获取系统屏幕的方向。

ORIENTATION_LANDSCAPE:横屏

ORIENTATION_PORTRAIT:竖屏

 

public int touchscreen:获取触摸屏的触摸方式。

TOUCHSCREEN_FINGER:接受手指的触摸屏

TOUCHSCREEN_NOTOUCH:无触摸屏

TOUCHSCREEN_STYLUS:触摸笔式触摸屏

TOUCHSCREEN_UNDEFINED:不明

 

(3)响应设备系统信息的改变

为了监听系统信息的改变,我们需要重写ActivityonConfigurationChanged(Configuration  newConfig)方法,这是基于回调的一种事件处理方式。 

目录
相关文章
|
2月前
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
34 1
|
1月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
49 0
|
2月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
26 2
|
2月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
352 2
|
7月前
|
Android开发
Android 分享机顶盒项目的封装类《GridView》(二)(转)
Android 分享机顶盒项目的封装类《GridView》(二)(转)
50 2
|
5月前
|
监控 Android开发 开发者
Android经典面试题之实战经验分享:如何简单实现App的前后台监听判断
本文介绍在Android中判断应用前后台状态的两种方法:`ActivityLifecycleCallbacks`和`ProcessLifecycleOwner`。前者提供精细控制,适用于需针对每个Activity处理的场景;后者简化前后台检测,适用于多数应用。两者各有优劣:`ActivityLifecycleCallbacks`更精确但复杂度高;`ProcessLifecycleOwner`更简便但可能在极端场景下略有差异。根据应用需求选择合适方法。
45 2
|
4月前
|
Java 测试技术 Android开发
Android项目架构设计问题之使用反射调用类的私有方法如何解决
Android项目架构设计问题之使用反射调用类的私有方法如何解决
43 0
|
5月前
|
API Android开发
Android 监听Notification 被清除实例代码
Android 监听Notification 被清除实例代码
|
6月前
|
Android开发
技术经验分享:Android前后台切换的监听
技术经验分享:Android前后台切换的监听
119 2
|
6月前
|
安全 Android开发 Kotlin
Android面试题之Kotlin的几种常见的类
这篇文章探讨了Kotlin编程语言中的初始化顺序、延迟初始化、惰性初始化、`lateinit`与`by lazy`的区别、初始化注意事项、继承、嵌套类、数据类、单例类和枚举类的使用,以及密封类的概念。文中通过示例代码详细解释了各种特性,并提醒读者关注初始化顺序和线程安全问题。同时,鼓励读者关注作者的公众号“AntDream”获取更多相关文章。
48 1