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