android自动打开软件下载,Android 应用自启动

本文介绍了如何在Android系统中实现应用开机自启动,通过创建BootReceiver广播接收器并在清单文件中添加相应权限和注册。同时,讨论了开机自启动可能遇到的问题,如应用安装到SD卡、系统自启动管理软件的影响,并提供了小米8在MIUI11.0.3.0上的兼容性验证。最后,给出了使用ADB命令进行开机广播的验证方法。
摘要由CSDN通过智能技术生成

如何实现开机自启动?

1 添加广播类

public class BootReceiver extends BroadcastReceiver {

private static final String TAG = "BootReceiver";

public static final String ACTION_BOOT = "android.intent.action.BOOT_COMPLETED";

/**

* 给客户留一些时间去进行系统设置

*/

private static final int START_TIME = 3000;

@Override

public void onReceive(final Context context, Intent intent) {

Log.i(TAG, "开启了" + intent.getAction());

String action = intent.getAction();

if (null == action)

return;

if (action.equals(ACTION_BOOT)) {

// 10秒后进行自启动

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

startApp(context);

}

}, START_TIME);

}

}

/**

* 开启APP

*/

private void startApp(Context context) {

Toast.makeText(context, "已开机", Toast.LENGTH_SHORT).show();

context.startActivity(context.getPackageManager()

.getLaunchIntentForPackage(context.getPackageName()));

}

}

2 清单文件中添加权限及注册广播

package="com.lugq.powerbootdemo">

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

...

开机自启动验证

使用 adb 命令方式发送开机广播

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

兼容性

小米8 MIUI 11.0.3.0 (Android9.0)开机后1分多,成功自启动

注意事项

没有自启动的原因:

1 没有添加权限

2 应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT_COMPLETED广播的

3 手机上有管理自启动的软件会导致失败

源码

下方留言、简信或者发邮件给我哟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值