1)BroadCastReceiver--這個東西是用來接收,android手機開機時會丟出的訊息(android.intent.action.BOOT_COMPLETED)
2)開權限--沒有路,怎麼走過去呢?
要在AndroidManiFest.xml增加權限,才能夠接收BOOT_COMPLETED
首先,先建立一支java class(在同一個類別下喔!)
像這樣
package com.example.thread_example;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootAct extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Intent boot = new Intent(context,MainActivity.class);
boot.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(boot);
}
}
這邊需要extends BroadcastReceiver 然後我們要改寫onReceive的內容,記得new Intent裡面是你要開啟的class名稱喔(這邊容易搞錯),然後使用startActivity來啟動。
權限的部分則是
綠色部分為所需要添加的程式碼,紅色部分則是要特別注意---名稱不要搞錯,像我是設為BootAct,搞錯就會出現Permission Denial: starting Intent .....這樣的錯誤。
OK,重新開機吧! 相信他重開之後就會開啟你的APP了。
沒有留言:
張貼留言