android 开机自启动应用 (详细)

来源:互联网 发布:ch341a编程器1.3破解 编辑:程序博客网 时间:2024/05/16 15:21

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





0 0
原创粉丝点击