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_12KEY、KEYBOARD_NOKEYS、KEYBOARD_QWERTY等。

 

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

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

HARDKEYBOARDHIDDEN_YES 表示软硬键盘都不可用

 

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

 

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

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

 

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

返回值为:

NAVIGATION_DPAD:DPAD导航

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)响应设备系统信息的改变

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

时间: 2024-11-02 07:11:47

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

Android学习笔记45之gson解析json_Android

JSON即JavaScript Object Natation, 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. JSON对象: JSON中对象(Object)以"{"开始, 以"}"结束. 对象中的每一个item都是一个key-value对, 表现为"key:value"的形式, key-value对之间使用逗号分隔. 如:{"name":"coolxing

Android学习笔记(二)App工程文件分析_Android

App工程文件分析 关于如何创建一个最简单的Android App请参照链接: < Android学习笔记(一)环境安装及第一个hello world > http://www.jb51.net/article/52593.htm 创建完的工程文件如下图所示,本文对一些主要的文件进行分析. src文件分析 App源文件如图: 打开源文件 MainActivity.java 可看到如下代码: 源码主要功能如下: App源文件目录 package com.example.firstapp; 导入A

Android学习笔记之应用单元测试实例分析_Android

本文实例讲述了Android学习笔记之应用单元测试.分享给大家供大家参考,具体如下: 第一步:在AndroidManifest.xml中加入如下两段代码: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.pccw" android:versionCode="1" android:versionName="1.0&qu

Android学习笔记45之gson解析json

JSON即JavaScript Object Natation, 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. JSON对象: JSON中对象(Object)以"{"开始, 以"}"结束. 对象中的每一个item都是一个key-value对, 表现为"key:value"的形式, key-value对之间使用逗号分隔. 如:{"name":"coolxing

Android学习笔记之应用单元测试实例分析

本文实例讲述了Android学习笔记之应用单元测试.分享给大家供大家参考,具体如下: 第一步:在AndroidManifest.xml中加入如下两段代码: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.pccw" android:versionCode="1" android:versionName="1.0&qu

在Android Studio中使用BaiduMap SDK实时获取当地位置信息_Android

配置BaiduMap 环境 1.在百度API中新建自己的一个APP包名和APP名需要注意和自己Android Studio 中的包名和APP名保持一致: 2.百度地图中还需要填写一个SHA1 数字签名: a.输入keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android),这个获取到的SHA1的值和ecplise中获取的值是一样的,是作为debug用的. b.输入keytool -list -v -ke

Android开发之在程序中时时获取logcat日志信息的方法(附demo源码下载)_Android

本文实例讲述了Android开发之在程序中时时获取logcat日志信息的方法.分享给大家供大家参考,具体如下: 今天分享一个在软件开发中很实用的例子,也是这几天在通宵加班中我使用的一个小例子, 在程序中监听Log信息. 为什么说它实用?原因是Android的开发厂商各种修改之后手机和手机之间以后存在很多差异.比如说魅族M9手机 开发中如果项目中涉及到访问手机系统的地方,例如访问系统短信库,M9手机它会提示一个dialog框 让用户自己去选择 访问还是不访问.这样就给开发适配带来了巨大的麻烦.本来

Android学习笔记(二)之电话拨号器_Android

目前Android已经在只能手机市场已经具有强大的霸主地位,也吸引了越来越多的追捧者.Android的学习也越来越火.但是,报名费用确实大多人望而却步 一.新建项目CallPhone 1.1.建立项目   二.设置界面与项目名称 2.1.更改项目名称 res/values下strings.xml中更改app_name电话拔号器 string.xml <?xml version="1.0" encoding="utf-8"?> <resources&

Android学习笔记(二)

1. Handler的使用        1.Handler类是android.os下的一个类,handler.post(Runnable r)可以将一个线程添加到消息队列中:handler.postDelay(Runnable r, long delayTime)在延迟delayTime毫秒后,将线程添加到消息队列中:handler.removeCalbacks(Runnable r)将队列中挂起的Runnable移出.        2.Handler.obtainMessage()可以获得