前言
智能硬件不同于普通安卓手机,由于部署在工地现场,大多不会有专人维护
所以必须具备开机自启动、远程自动升级、自动重启、状态自动上报等功能
这篇博客,我们首先解决最简单的,开机自启动问题
注册权限
创建广播接收器
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); } }
将应用安装到内存卡
将应用升级为系统APP
注意,这一步只有Root过的手机才能实现,如果手机不能Root,就不要想了
通过ADB执行以下代码
adb remount
adb push xxx.apk /system/app
注意事项
现在很多ROM镜像,都拦截了RECEIVE_BOOT_COMPLETED等广播
对于这种设备,除非重新烧录ROM,否则监听开机广播肯定不可能的了,不用再浪费时间了
将APP设置为桌面应用
如果以上方法行不通,还有一个投机取巧的方法
就是将自己的APP设置为默认桌面应用,自然一开机就会启动了
缺点就是,切换到其它APP就不方便了
但对于比较简单的智能硬件来说,有一个应用就够了
如果需要切换到其它APP,可以通过adb脚本来实现
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)