android 如何判断开机完成

来源:互联网 发布:大圣娶亲知乎 编辑:程序博客网 时间:2024/04/29 08:08

1.开机启动后系统会发射出一个Standard Broadcast Action,名字叫Android.intent.action.BOOT_COMPLETED。

2.构造一个IntentReceiver类,重构其抽象方法onReceive(Context context, Intent intent),在其中启动你想要启动的Service。

3.在AndroidManifest.xml中,

   首先加入<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses- permission>来获得BOOT_COMPLETED的使用许可,然后注册前面重构的IntentReceiver类,在 其<intent-filter>中加入<action android:name="android.intent.action.BOOT_COMPLETED" /> ,以使其能捕捉到这个Action。

an example:


AndroidManifest.xml:


[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1.  <receiver android:name=".ServiceBroadcastReceiver" >  
  2. <intent-filter>  
  3. <action android:name="android.intent.action.BOOT_COMPLETED"/>  
  4. </intent-filter>  
  5. </receiver>  
  6.         <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">  
  7.         </uses-permission>//获得RECEIVE_BOOT_COMPLETED使用许可  

Java代码:


[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1.   public class ServiceBroadcastReceiver extends BroadcastReceiver {  
  2.                      @Override  
  3. public void onReceive(Context arg0, Intent arg1) {  
  4. // TODO Auto-generated method stub  
  5. String action = arg1.getAction();  
  6.                            /*判断是否与action匹配*/  
  7. if(action.equals("android.intent.action.BOOT_COMPLETED"))  
  8. {  
  9. Intent serviceLauncher = new Intent(arg0, Service.class);  
  10. arg0.startService(serviceLauncher);  
  11. Log.i("ServiceBroadcastReceiver""StockService loaded at start");  
  12. }  
  13.                      }  
  14.              }  
0 0
原创粉丝点击