我们知道,在Android中实现开启启动的方法注册一个静态广播去监听开机启动完毕的广播,然后在接听到开机广播完毕后,启动Activity或者Service,方法如下:

首先,新建一个广播监听器监听开机启动完毕的广播

public class BootCompletedReceiver extends BroadcastReceiver {

private static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED";

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(action_boot)){

Intent intent=new Intent(context,MainActivity.class);

ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent);

}

}

}

然后,在AndroidManifest.xml静态注册该广播

最后,在AndroidManifest.xml申请权限

通过以上的方法,可以实现开启启动APP,但是,这个方法有问题,以上的方法必须要在安装APP后,手动运行一次APP后,APP才能接收到android.intent.action.BOOT_COMPLETED广播。

假如APP没有Activity,只有Service,或者安装完毕后无法手动运行,也不能通过其他的APP来启动此APP的Service或者Activity,如何安装后,可以开机启动呢? PS:在可以修改Android系统代码的基础上,又有哪些方法呢?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐