开机自启动activity或service

来源:互联网 发布:不锈钢交易网软件 编辑:程序博客网 时间:2024/05/18 19:18


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

    import android.content.BroadcastReceiver;  
    import android.content.Context;  
    import android.content.Intent;  
    import android.util.Log;   
      
    public class BootBroadcastReceiver extends BroadcastReceiver {  
        //重写onReceive方法  
        @Override  
        public void onReceive(Context context, Intent intent) {  
            //后边的XXX.class就是要启动的服务  
            Intent service = new Intent(context,XXXclass);  
            context.startService(service);  
            Log.v("TAG", "开机自动服务自动启动.....");  
           //启动应用,参数为需要自动启动的应用的包名
    Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
    context.startActivity(intent );        
        }  
    }  

配置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" />