android 開機自啓動應用 (詳細)

android 4.0以後 android就可以實現開機自啓動app了。下面我說一下操作原理:

android可以通過 receiver 接收者來接收 android 開機廣播實現開機自動。這樣我們就有機可乘了,放一個 service 在 receiver 中,然後通過這個服務中寫代碼來啓動app。

下面上代碼吧。

1、寫出接收廣播

public class BootCompletedReceiver extends BroadcastReceiver {
    //重寫onReceive方法
    @Override
    public void onReceive(Context context, Intent intent) {
        //後邊的XXX.class就是要啓動的服務
        Intent service = new Intent(context, ServiceCrack.class);
        context.startService(service);
        Log.v("TAG", "開機自動服務自動啓動.....");
    }

}
2、在AndroidManifest.xml中註冊廣播

<receiver android:name=".receiver.BootCompletedReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</receiver>
receiver和service 是和activity同級別的哦  , 別放錯地方了

3、編寫自己的service 

public  class ServiceCrack extends Service {
    public ServiceCrack(){
        super();
    }
    public IBinder onBind(Intent arg0){  //這是Service必須要實現的方法,目前這裏面什麼都沒有做
//只是在onCreate()方法中打印了一個log便於測試
      return null;
 }
     public void onCreate(){
        super.onCreate();
         Intent intent=new Intent(ServiceCrack.this, WelcomeActivity.class);
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         startActivity(intent);
        Log.d("TAG2","test service");
  }
}
4、在AndroidManifest.xml中註冊服務

<service
    android:name = ".receiver.ServiceCrack">
</service>
receiver和service 是和activity同級別的哦  , 別放錯地方了

5、當然得有權限了啊 (重要)

<!--開機自啓動-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>





發佈了30 篇原創文章 · 獲贊 29 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章