前言
智能硬件不同于普通安卓手机,由于部署在工地现场,大多不会有专人维护
所以必须具备开机自启动、远程自动升级、自动重启、状态自动上报等功能
这篇博客,我们首先解决最简单的,开机自启动问题
注册权限
创建广播接收器
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
注册广播接收器
广播接收器执行任务
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Intent it = new Intent(context, SplashActivity.class);
it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(it);
}
}
将应用安装到内存卡
注意事项
现在很多ROM镜像,都拦截了RECEIVE_BOOT_COMPLETED等广播
对于这种设备,除非能自己修改ROM,否则监听开机广播肯定不可能的了
这时就不要再浪费时间了,可以采用将APP设为桌面的方法来间接达到目的
还有一些厂商,需要自己设置允许开机自启动,加入启动白名单,才能收到该广播
将APP设置为桌面应用
这是一个投机取巧的方法
缺点就是,我们的应用会取代默认桌面,就没法切换到其它APP了,只能通过代码打开其它应用
但对于比较简单的智能硬件来说,有一个应用就够了