前言

智能硬件不同于普通安卓手机,由于部署在工地现场,大多不会有专人维护

所以必须具备开机自启动、远程自动升级、自动重启、状态自动上报等功能

这篇博客,我们首先解决最简单的,开机自启动问题

注册权限

<!-- 监听系统开机广播 --><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

创建广播接收器

public class BootReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {}}

注册广播接收器

<!-- 监听系统开机 --><receiver android:name="com.android.app.hardware.biz_receiver.BootReceiver"><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED" /></intent-filter></receiver>

广播接收器执行任务

@Overridepublic 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);}}

将应用安装到内存卡

<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:installLocation="internalOnly"></manifest>

注意事项

现在很多ROM镜像,都拦截了RECEIVE_BOOT_COMPLETED等广播

对于这种设备,除非能自己修改ROM,否则监听开机广播肯定不可能的了

这时就不要再浪费时间了,可以采用将APP设为桌面的方法来间接达到目的

还有一些厂商,需要自己设置允许开机自启动,加入启动白名单,才能收到该广播

将APP设置为桌面应用

这是一个投机取巧的方法

缺点就是,我们的应用会取代默认桌面,就没法切换到其它APP了,只能通过代码打开其它应用

但对于比较简单的智能硬件来说,有一个应用就够了

<activityandroid:name="com.android.app.hardware.biz_activity.SplashActivity"android:screenOrientation="landscape"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /><category android:name="android.intent.category.MONKEY" /><category android:name="android.intent.category.HOME" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>

【Android智能硬件开发】【001】APK自启动相关推荐

  1. Android智能硬件开发心得总结(二)

    Android智能硬件开发心得总结(一) 6.关于屏幕显示 每次一个新项目的开发,我所做的第一件事就是确定所选定显示屏的型号规格,然后将规格书发给主板供应商让其先调屏参. 调屏参是很可能会出现无法点亮 ...

  2. 【Android智能硬件开发】【011】安卓串口转USB

    情景 一般硬件设备提供的内置串口数量是有限的,当串口不够用时,就需要通过USB来外接这些设备 CH341是一种芯片,它可以将以串口方式进行通信的设备,转接到USB口上进行通信 使用该方案,需要购买对应 ...

  3. Android 系统(252)---Android:BLE智能硬件开发详解

    Android:BLE智能硬件开发详解 目录 前言 BLE是个什么鬼 BLE中的角色分工 主要的关键词和概念  GATT(Generic Attribute Profile ) Characteris ...

  4. 高通Android智能平台开发总结

    高通Android智能平台开发总结 1. 高通平台android开发总结. 7 1.1 搭建高通平台环境开发环境. 7 1.2 搭建高通平台环境开发环境. 7 1.2.1 高通android智能平台概 ...

  5. Android 智能硬件的理解(2018.5.25)

    1.智能硬件的理解 首先要认真的去了解目前的智能硬件行业,并且对将来智能硬件的发展有个深刻的认知.可以通过专业的招聘网站上的行业公司和招聘职业等方法了解企业.产品,和对你所做的硬件信息有大概的了解,不 ...

  6. 软硬整合技术、智能硬件开发与顶层设计应用_课程

    来自台湾的高焕堂老师,和来自美国硅谷的柯博文老师,共同指导... 课程名称:软硬整合技术.智能硬件开发与顶层设计应用 指导老师:高焕堂.柯博文 课程说明: 在智能&大数据时代,系统开发不仅仅攸 ...

  7. 这是智能硬件开发门槛被降得最低的一次

    这是智能硬件开发门槛被降得最低的一次--如果"智键"."米键"和"快按钮"算智能硬件的话.这三个与耳机接头外形相似的"按钮&quo ...

  8. HarmonyOS硬件创新合作伙伴,【HarmonyOS】HarmonyOS智能硬件开发学习指南 - HDC2020

    2020年9月10日,华为HarmonyOS 2.0版本正式官宣!这一次,借助 HarmonyOS 全场景分布式系统和设备生态,将定义全新的硬件.交互和服务体验,打开焕然一新的全场景世界,不愧是Har ...

  9. iOS蓝牙原生封装,助力智能硬件开发

    代码地址如下: http://www.demodashi.com/demo/12010.html 人工智能自1956年提出以来,一直默默无闻,近年来人工智能的发展得到重视逐渐发展起步,智能硬件.智能手 ...

最新文章

  1. 特斯拉AI主管给你的33条深度学习训练建议
  2. 为了提升续航,马斯克又引发一场“造芯”革命,华为比亚迪已进场
  3. vue使用px2rem
  4. dotnetClub 的前世今生
  5. linux 后台运行nohup与
  6. 机房收费系统个人重构版:软工文档中那些图
  7. Compiling XORP v1.2 in Debian 3.1
  8. Python入门之面向对象module,library,package之间区别
  9. PNAS A scalable pipeline for designing reconfigurable organisms
  10. linux使用中的问题 --- (Another app is currently holding the yum lock; waiting for it to exit...)
  11. js高级学习笔记(b站尚硅谷)-16-原型链的继承
  12. 中正平和的机器人学笔记——2. 机械臂逆运动学(附MATAB代码)
  13. 关于APP测试用例点
  14. wps里面函数怎么使用_wps表格函数及函数简单使用
  15. TensorFlow入门操作
  16. .NET周报【11月第1期 2022-11-07】
  17. 外贸订单支付失败有哪些原因导致?有哪些解决方案?
  18. No qualifying bean of type ‘javax.servlet.Filter‘ available: expected at least 1 bean which qualif
  19. Win7 架设git服务器
  20. java爬虫webcollector_JAVA爬虫框架:WebCollector

热门文章

  1. Android之九宫格抽奖及大转盘抽奖
  2. 删除列表中重复元素的几种方法
  3. Laravel 的事件广播系统(Redis驱动)
  4. java中利用三种循环对一到一百之间六的倍数出现多少次的代码
  5. Element - table固定列页面数据过多滚动时显示问题
  6. new bing申请与试用详细讲解(纯小白适用,免加速器)
  7. 直播视频网站源码,滑动窗口最大值
  8. 【C 语言入门】数据类型
  9. vue中动态请求URL乱码
  10. 玩转Android10源码开发定制(五)之源码目录说明及模块源码路径定位