Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 4.2(JB2)加入多賬戶後input&language以及Calendar的變化總結

Android 4.2(JB2)加入多賬戶後input&language以及Calendar的變化總結

編輯:關於Android編程

JB2中最明顯的變化是加入了支持多賬戶,為了搞清楚多賬戶的功能對每個apk的影響,我主要測試了IME和Calendar兩個功能,現將兩者的測試結果記錄如下: IME方面: 1.進入settings的input&language選項設置語言,如果當前有多個用戶的話,此時會彈出對話框“此改變將影響所有用戶”,意思是語言是所有用戶共用的,如果用戶A將語言設置為英文,那麼B用戶登錄後,語言也變化為英文。這個是由 \packages\apps\Settings\src\com\android\settings\LocalePicker.java 文件中的如下code來控制的:     public voidonLocaleSelected(final Locale locale) {         if(Utils.hasMultipleUsers(getActivity())) {            mTargetLocale = locale;            showDialog(DLG_SHOW_GLOBAL_WARNING);         } else {             getActivity().onBackPressed();            LocalePicker.updateLocale(locale);         } 紅色部分是4.2新加的,加入了多用戶的判斷,如果有多個用戶,則彈出剛才所說的對話框。所有的用戶所用的locale是同一個,具體邏輯可見\frameworks\base\core\java\com\android\internal\app\LocalePicker.java,updateLocale等函數調用的是這個類中的函數。 2.默認的輸入法是Android的LatinIME,當我以用戶A的身份登錄時安裝了“谷歌拼音輸入法”,在A的settings中就有這個輸入法的選項可選擇,但是此時退出再以B身份登錄的話,B的settings是沒有“谷歌拼音輸入法”可選的。即用戶安裝的第三方apk只對改用戶生效,不會影響其他用戶。 Calendar方面: 以用戶A登錄進去創建事件a,再以用戶B登錄進去創建事件b,用戶A看不到事件b,用戶B也看不見事件a,各個用戶之間是相對獨立的。 Calendar的實現在packages\apps\Calendar,具體的界面顯示等控制可在此目錄中找到。其ContentProvider控制和訪問Calendar相關的數據,可見packages\providers\CalendarProvider.       目前只測試了這幾項,其他的變化若有發現,日後再補充。  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved