天天看點

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)方法,這是基于回調的一種事件處理方式。 

繼續閱讀