[置頂] Android Provision (Setup Wizard)

來源:互聯網
上載者:User

標籤:android   style   blog   http   io   color   ar   os   sp   


Android中很多架構性的設計都已經存在了,但在市場上的發布版本裡卻因為沒有很好的理解Android的設計意圖而進行自己的定製,或者自己又做一 個冗餘的實現。Android中的Provision其實就是類似剛出廠時或者恢復出廠預設值之後,一步一步引導使用者完成各種設定的Setup Wizard程式。

 

在Android的原生代碼中,Provision並沒有被編譯進系統,這可能是Provision不被人所知的原因。另外SdkSetup是一個實現相同功能的程式,從名字來看,SdkSetup是被用來在類比環境中完成初始設定的程式。

 

Provision在其AndroidManifest.xml中被定義如下:

 

[html] view plaincopy 
  1. <application> <activity=  
  2. => <intent-filter=> <action= /> <category= /> <category= /> </intent-filter> </activity> >  
 

Activity DefaultActivity的category被定義成HOME,並且priority為1,是比系統Launcher啟動還要早的程式。

 

Provision中DefaultActivity的實現如下:

 

[java] view plaincopy 
  1. publicclass   
  2. protectedvoid super   
  3. );  
  4.   
  5. newthisclass );  
  6.   
  7. }  
 

DefaultActivity的原生實現只做了兩件事:

  1. 沒有UI介面,只是設定Setting項裡的Settings.Secure.DEVICE_PROVISIONED為1,指示其他Framework和其他程式,機器已經Provisioned。
  2. Line#10~#12之後,Launcher才會被啟動,完成整個啟動過程。

注意:還沒有Provisioned的機器,有些功能的表現是不一樣的。比如,如果還沒有Provisioned,鎖屏程式不會鎖屏;對HOME key的處理也不同;電話也是打不進來的,etc。

 

通過Provision,可以定製:

  •  加入一些初始設定項的設定,比如時區/時間初始設定,背景資料是否允許,是否允許安裝非Android市場上的程式,等不需要使用者幹預就可以完成的設定。具體也可看SdkSetup中的DefaultActivity完成的設定,除了多了些設定項的設定,並沒有太多區別。
  •  加入UI設計,引導使用者一步步完成需要使用者參與選擇或輸入的設定過程,也就是Setup Wizard的工作。
 
  • 上一篇Android 擷取螢幕尺寸與密度
  • 下一篇解決Android textview自動換行問題

[置頂] Android Provision (Setup Wizard)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.