当前位置: 首页 > news >正文

【Android】怎么使APP进行开机启动

项目需求

在Android系统开启之后,目标app可以在系统开机之后启动。

项目实现

使用广播的方式

首先我们要创建一个广播(这里是启动了一个Service服务)

public class BootReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {Intent myIntent = new Intent(context, MyForegroundService.class);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {//Android 8.0以上调用context.startForegroundService(myIntent);} else {context.startService(myIntent);}}}
}

然后需要在【AndroidManifest.xml】注册清单里面
1.添加权限

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

2.注册

        <receiverandroid:name=".receiver.BootReceiver"android:enabled="true"android:exported="true"><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED" /></intent-filter></receiver>

ps:这里也可以启动一个Activity

public class BootReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {Intent i = new Intent(context, MainActivity.class);i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(i);}}
}

相关文章:

  • Web前端项目-交互式3D魔方【附源码】
  • yolo-inference多后端+多任务+多算法+多精度模型 框架开发记录(cpp版)
  • 报表开发工具DevExpress Reporting v23.2 - 增强PDF导出、多平台打印等
  • [创业之路-118] :制造业企业的必备管理神器-ERP-制造业的基本方程式与ERP的发展历程,哪些企业需要ERP?
  • 手机网站制作软件是哪些
  • 【Java】已解决Java中的java.lang.VerifyError异常
  • 数学建模基础:数学建模概述
  • 手机usb共享网络电脑没反应的方法
  • 【Qt6.3 基础教程 04】探索Qt项目结构和配置文件
  • 简易开发一个app
  • 什么是进程
  • 使用QMainWindow、QMenuBar,QToolBar文本编辑器界面布局设置
  • 深入解析JVM之类的生命周期
  • Linux驱动开发笔记(七)软中断
  • 传输层——TCP
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 前端js -- this指向总结。
  • 如何选择开源的机器学习框架?
  • 使用权重正则化较少模型过拟合
  • 提醒我喝水chrome插件开发指南
  • 译米田引理
  • 在Docker Swarm上部署Apache Storm:第1部分
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 阿里云服务器购买完整流程
  • 容器镜像
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # 计算机视觉入门
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (42)STM32——LCD显示屏实验笔记
  • (c语言+数据结构链表)项目:贪吃蛇
  • (补充)IDEA项目结构
  • (苍穹外卖)day03菜品管理
  • (二)hibernate配置管理
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (十二)Flink Table API
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)Windows2003安全设置/维护
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .env.development、.env.production、.env.staging
  • .gitignore文件使用
  • .NET C# 配置 Options
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .Net 应用中使用dot trace进行性能诊断
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET8使用VS2022打包Docker镜像