在android tv第一次上電時,會進行乙個國家和語言及蒐台的選擇,實現的原理是:
寫乙個單獨的apk實現相應的功能,把這個單獨的apk設定成launcher:
在androidmanifest.xml中,設定:
android:excludefromrecents="true"
android:launchmode="singleinstance">
那麼開機時,理論上會有兩個launcher啟動,使用者可以選擇,但這裡設定了乙個屬性:intent-filter android:priority="1"
而預設的launcher沒設定這個屬性:
android:name =
"com.haier.haierlauncher2.launcheractivity"
android:label =
android:launchmode =
"singleinstance"
android:theme =
"@android:style/theme.wall*****.notitlebar.fullscreen" >
< intent-filter>
< action android:name =
"android.intent.action.main" />
< category android:name =
"android.intent.category.home" />
< category android:name =
"android.intent.category.default" />
< category android:name =
"android.intent.category.monkey" />
沒有設定這個屬性值,預設為0,:intent-filter android:priority="0"
這個屬性用於給過濾器設定乙個優先順序。其父元件能夠通過優先順序來依次處理過濾器所描述型別的intent物件。這個屬性對activity和broadcast receiver物件有意義:
1. 它提供了activity能夠如何響應跟過濾器匹配的intent物件請求的資訊(相對與其他的也能響應這個intent請求的activity)。當乙個intent物件請求能夠被多個帶有不同優先順序的activity處理時,android系統只考慮把高優先順序的intent過濾器作為潛在的 intent物件請求目標。
2. 它控制了broadcast receiver執行接收廣播訊息的順序。高優先順序的過濾器會優先呼叫。(這個順序只應用與同步訊息,對於非同步訊息會忽略優先順序的設定。)
只有真正想要給接收廣播訊息的過濾器施加乙個特定順序,或者要強制android來應用另外乙個activity,才會使用這個屬性。
這個屬性值必須是乙個整數,如:100,數字越大,優先順序越高。
那麼第一次上電,優先啟動的是這個launcher,
設定完成之後,以後這個launcher不再啟動,可以這樣做:
private void finishsetupwizard()
在用到元件時,有時候我們可能暫時性的不使用元件,但又不想把元件kill掉,比如建立了乙個broadcastreceiver廣播***,用來想監聽第一次開機啟動後獲得系統的許多相關資訊,並儲存在檔案中,這樣以後每次開機啟動就不需要再去啟動該服務了,也就是說如果沒有把receiver關閉掉,就算是不做資料處理,但程式卻還一直在後台執行會消耗電量和記憶體,這時候就需要把這個receiver給關閉掉。
如何關閉元件?
關閉元件其實並不難,只要建立packagemanager物件和componentname物件,並呼叫packagemanager物件的setcomponentenabledsetting方法。
public void setcomponentenabledsetting (componentname componentname, int newstate, int flags)
componentname:元件名稱
newstate:元件新的狀態,可以設定三個值,分別是如下:
不可用狀態:component_enabled_state_disabled
可用狀態:component_enabled_state_enabled
預設狀態:component_enabled_state_default
需要許可權:
橫向導航(ul li)實現
1 生成site.css檔案 注 一定要將該檔案的編碼格式設定為utf 8,否則ie6有可能出現亂碼 ul li以橫排顯示 所有class為menu的div中的ul樣式 div.menu ul 所有class為menu的div中的ul中的li樣式 div.menu ul li 所有class為men...
sql語句的生成嚮導如何實現
最近急需在e表中做乙個sql語句生成器,花了一點時間研究比較了一下,主要找到如下兩類做法 1 主要介面如下圖 它的特點是能比較直觀地反映多個表之間的關聯關係,操作是拖拉方式,比較直觀。但覺得實現起來比較複雜,容易出bug,覺得不好控制拖拉表這一塊。它一般用於通用的工具上,如報表工具,ms acces...
https原理及centos開機流程
web服務存在http和https兩種通訊方式,http預設採用80作為通訊埠,對於傳輸採用不加密的方式,https預設採用443,對於傳輸的資料進行加密傳輸。目前主流的 基本上開始預設採用https作為通訊方式。它其實就是http 加密 身份認證 完整性保護。https並不是一種新的協議,在通訊介...