在Windows平台中我们一定知道很多程序会开机自启动,那么我们的android应用程序如何实现开机自启动的呢?其实非常的简单,只要用android的广播机制就可以了,因为当android系统启动的时候会发送一个广播出去,所以关心这个广播的应用程序就会接收这个广播了。
那么首先,准备好我们的测试用的Activity
package org.iSun.heisedeyueya;import android.app.Activity;import android.os.Bundle;public class AutoStartActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); System.out.println("boot completed"); }}第二步,我们只需要自定义一个广播的接收者BootCompleteReceiver让它从BroadcastReceiver继承并且重写onReveiver方法
package org.iSun.heisedeyueya;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class BootCompleteReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Intent start = new Intent(); start.setClass(context, AutoStartActivity.class); start.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startService(start); }}第三步就是注册这个广播接收者让它接收"android.intent.action.BOOT_COMPLETED"这个广播。
<receiver android:name=".BootCompleteReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver>
那么通过上面的三步开机自启动就完成了
1 楼 坦克狗 2011-11-01
学习了,谢谢。