當前位置:成語大全網 - 漢語詞典 - 求安卓開機代碼

求安卓開機代碼

原則

當Android系統完成引導階段時,它將發送壹個名為ACTION_BOOT_COMPLETED的廣播,因此我們可以在BroadcastReceiver中捕獲這個廣播,然後開始我們的活動或服務。當然,需要註意的是,我們的應用程序必須有權捕獲這個廣播。請看下面的具體步驟:

第壹步是啟動壹個活動或服務。這裏以系統自身創建的最簡單的活動為例進行說明。

包com . bill hoo . study;

導入Android . app . activity;

導入Android . OS . bundle;

公共類BootTestActivity擴展Activity {

/**首次創建活動時調用。*/

@覆蓋

public void on create(Bundle saved instancestate){

super . oncreate(savedInstanceState);

setContentView(r . layout . main);

}

}

第二步:我們需要編寫壹個BroadcastReceiver來捕獲廣播ACTION_BOOT_COMPLETED,並在捕獲之後啟動我們想要啟動的活動。

註意:您必須添加標記意圖。意圖中的Flag _ Activity _ New _ Task,這也是我之前總是啟動失敗的原因。至於為什麽,我還在學習SDK doc,等我理解了再回來補。

包com . bill hoo . study;

導入Android . content . broadcast receiver;

導入Android . content . context;

導入Android . content . intent;

公共類BootCompletedReceiver擴展BroadcastReceiver {

@覆蓋

公共void onReceive(上下文語境,意圖意圖){

if (intent.getAction()。等於(意圖。ACTION_BOOT_COMPLETED))

{

Intent new Intent = new Intent(context,bootestactivity . class);

newIntent.addFlags(Intent。標誌_活動_新_任務);?//註意,必須添加這個標簽,否則啟動會失敗。

context . start activity(new intent);

}

}

}

步驟3在AndroidManifest.xml配置文件中註冊我們的BroadcastReceiver。

& lt接收者android:name= "。BootCompletedReceiver " & gt

& lt意向過濾器& gt

& ltaction Android:name = " Android . intent . action . boot _ COMPLETED "/& gt;

& lt/intent-filter & gt;

& lt/receiver & gt;

步驟4:在AndroidManifest.xml配置文件中添加允許我們捕獲廣播的權限。

& lt!-權限-& gt;

& ltuses-permission Android:name = " Android . permission . receive _ BOOT _ COMPLETED "/& gt;

我之前輸錯了uses-permission作為權限,結果壹直提示以下錯誤:

權限拒絕:接收意圖{ act = Android . Intent . action . boot _ COMPLETED flg = 0x 8000010(has extras)}到com.example.boottest/。bootcompletedreceiver需要Android . permission . receive _ boot _ completed due to sender null(uid 1000)重啟虛擬機,就大功告成了。

下面附上完整的AndroidManifest.xml供您理解和參考。

& lt?xml版本="1.0 "編碼="utf-8 "?& gt

& lt清單xmlns:Android = "/apk/RES/Android "

package = " com . bill hoo . study " Android:version code = " 1 "

Android:version name = " 1.0 " & gt;

& ltuses-SDK Android:minSdkVersion = " 4 "/& gt;

& lt!-權限-& gt;

& ltuses-permission Android:name = " Android . permission . receive _ BOOT _ COMPLETED "/& gt;

& lt應用Android:icon = " @ drawable/icon " Android:label = " @ string/app _ name " & gt;

& lt!-活動->;

& lt活動android:name= "。bootestactivity " Android:label = " @ string/app _ name " & gt;

& lt意向過濾器& gt

& ltaction Android:name = " Android . intent . action . main "/& gt;

& lt類別Android:name = " Android . intent . category . launcher "/& gt;

& lt/intent-filter & gt;

& lt/activity & gt;

& lt!-接收者-& gt;

& lt接收者android:name= "。BootCompletedReceiver " & gt

& lt意向過濾器& gt

& ltaction Android:name = " Android . intent . action . boot _ COMPLETED "/& gt;

& lt/intent-filter & gt;

& lt/receiver & gt;

& lt/application & gt;

& lt/manifest & gt;