標籤:
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)方法,這是基於回調的一種事件處理方式。
Android學習筆記(37):用Configuration類擷取和監聽裝置資訊