在部分程序设计的需求中,有时会遇到自己的app随系统启动,接下来是分析过程。
程序如果想开启启动,可是系统没有什么借口供调用,不过还是可以通过其他的办法实现,
系统在启动过程中会发送多条广播信息,供部分程序使用,自己的程序也可以模拟接受这些系统发出的广播,然后执,(以下方法在android2.3,android4.0实现成功)
行自己的app就可以实现自己的程序随机启动的效果。
首先,添加接受广播信息的权限。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
然后,准备广播是显示内容启动自己的app
package com.eyashero.votetest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
/**
*
* 2013-12-19
*/
public class BootBroadcastReceiver extends BroadcastReceiver {
private static final String ACTION = "android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION)) {
// 要启动的Activity
Intent mainActivityIntent = new Intent(context, MainActivity.class);
mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mainActivityIntent);
}
}
}