在Windows平台中我们一定知道很多程序会开机自启动,那么我们的android应用程序如何实现开机自启动的呢?其实非常的简单,只要用android的广播机制就可以了,因为当android系统启动的时候会发送一个广播出去,所以关心这个广播的应用程序就会接收这个广播了。
那么首先,准备好我们的测试用的Activity
第二步,我们只需要自定义一个广播的接收者BootCompleteReceiver让它从BroadcastReceiver继承并且重写onReveiver方法
第三步就是注册这个广播接收者让它接收"android.intent.action.BOOT_COMPLETED"这个广播。
那么通过上面的三步开机自启动就完成了
那么首先,准备好我们的测试用的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>
那么通过上面的三步开机自启动就完成了