在Windows平台中我们一定知道很多程序会开机自启动,那么我们的android应用程序如何实现开机自启动的呢?其实非常的简单,只要用android的广播机制就可以了,因为当android系统启动的时候会发送一个广播出去,所以关心这个广播的应用程序就会接收这个广播了。
那么首先,准备好我们的测试用的Activity
Java代码 packageorg.iSun.heisedeyueya; importandroid.app.Activity; importandroid.os.Bundle; publicclassAutoStartActivityextendsActivity{ /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); System.out.println("bootcompleted"); } }
第二步,我们只需要自定义一个广播的接收者BootCompleteReceiver让它从BroadcastReceiver继承并且重写onReveiver方法
Java代码 packageorg.iSun.heisedeyueya; importandroid.content.BroadcastReceiver; importandroid.content.Context; importandroid.content.Intent; publicclassBootCompleteReceiverextendsBroadcastReceiver{ @Override publicvoidonReceive(Contextcontext,Intentintent){ //TODOAuto-generatedmethodstub Intentstart=newIntent(); start.setClass(context,AutoStartActivity.class); start.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startService(start); } }
第三步就是注册这个广播接收者让它接收"android.intent.action.BOOT_COMPLETED"这个广播。
Xml代码 <receiverandroid:name=".BootCompleteReceiver"> <intent-filter> <actionandroid:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver> 此外还要在Manifest.xml文件中添加如下权限:
Xml代码 <uses-permission android:name="android.permission.RECEIVER_BOOT_COMPLETED" />
那么通过上面的三步开机自启动就完成了
原文地址:点击打开链接
如果觉得《Android实现应用程序的开机自启动》对你有帮助,请点赞、收藏,并留下你的观点哦!