android 簡單的開機自啓

今天咱們主要來探討android怎麼讓一個service開機自動啓動功能的實現。Android手機在啓動的過程當中會觸發一個Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED(記得只會觸發一次呀),在這裏咱們能夠經過構建一個廣播接收者來接收這個這個action.下面我就來簡單寫如下實現的步驟:  android

    第一步:首先建立一個廣播接收者,重構其抽象方法 onReceive(Context context, Intent intent),在其中啓動你想要啓動的Service或appapp

    import android.content.BroadcastReceiver;  ide

    import android.content.Context;  spa

    import android.content.Intent;  xml

    import android.util.Log;  get

public class BootBroadcastReceiver extends BroadcastReceiver {  string

//重寫onReceive方法  it

@Override  public void onReceive(Context context, Intent intent) {io

 //後邊的XXX.class就是要啓動的服務           ast

  Intent service = new Intent(context,XXXclass);

             context.startService(service);   

          Log.v("TAG", "開機自動服務自動啓動.....");  

//啓動應用,參數爲須要自動啓動的應用的包名 

  Intent intent2 = context.getPackageManager().getLaunchIntentForPackage(packageName);   

   context.startActivity(intent2 );      

         }   

  }  

第二步:配置xml文件,在receiver接收這種添加intent-filter配置  

     <receiver android:name="BootBroadcastReceiver">  

              <intent-filter>  

               <action android:name="android.intent.action.BOOT_COMPLETED"></action>  

                 <category android:name="android.intent.category.LAUNCHER" />  

            </intent-filter>  

           </receiver>  

第三步:添加權限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />  

這樣就能夠開機自啓了 ,可是有個問題有些時候 會過個幾秒纔開 有必定的延時 多是系統沒響應過來 開機廣播沒有及時發出。。。

相關文章
相關標籤/搜索