android开机自动启动Service或app

第一步: 首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app。

  1. import android.content.BroadcastReceiver; 
  2.     import android.content.Context; 
  3.     import android.content.Intent; 
  4.     import android.util.Log; 
  5.       
  6.     public class BootBroadcastReceiver extends BroadcastReceiver { 
  7.         //重写onReceive方法 
  8.         @Override 
  9.         public void onReceive(Context context, Intent intent) { 
  10.             //后边的XXX.class就是要启动的服务 
  11.             Intent service = new Intent(context,XXXclass); 
  12.             context.startService(service); 
  13.             Log.v("TAG", "开机自动服务自动启动....."); 
  14.            //启动应用,参数为需要自动启动的应用的包名
  15.     Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
  16.     context.startActivity(intent ); 
  17.         } 
  18.       
  19.     }
第二步:配置xml文件,在receiver接收这种添加intent-filter配置  

  1. <receiver android:name="BootBroadcastReceiver"> 
  2.                 <intent-filter> 
  3.                     <action android:name="android.intent.action.BOOT_COMPLETED"></action> 
  4.                     <category android:name="android.intent.category.LAUNCHER" /> 
  5.                 </intent-filter> 
  6.             </receiver>

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

你可能感兴趣的:(android开机自动启动Service或app)