news 2026/4/15 22:41:26

Android 使用 PackageInstaller 实现静默安装,并通过 BroadcastReceiver 自动重启应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android 使用 PackageInstaller 实现静默安装,并通过 BroadcastReceiver 自动重启应用

在 Android 系统中,如果你的应用具有系统权限(如系统签名或安装在 /system/priv-app 目录),就可以使用PackageInstaller实现 APK 的静默安装。
安装完成后,我们通常希望应用能够自动重启,以便更新立即生效。

本文将完整展示:

  1. BroadcastReceiver监听安装事件

  2. 捕获自定义安装完成事件 (INSTALL_FINISH)

  3. 自动启动自身应用

  4. 使用PackageInstaller安装 APK 的完整代码

适用于 OTA 升级、企业设备更新、Kiosk 设备、医疗设备等定制系统。


一、监听系统安装广播

Android 在安装、升级应用时,会发送系统广播:

  • android.intent.action.PACKAGE_ADDED—— 第一次安装

  • android.intent.action.PACKAGE_REPLACED—— 覆盖安装(升级时必走)

  • 自定义广播:安装提交后的回调(PackageInstaller.commit)

清单文件配置如下:

<receiver android:name=".updata.InstallReceiver" android:enabled="true" android:exported="true"> <!-- 覆盖安装(升级) --> <intent-filter android:priority="999"> <action android:name="android.inte
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 15:26:02

Solidity函数中包含return并使用修改器并执行顺序

核心规则总结 当函数中使用修改器并包含 return 语句时: 修改器中的 return 会立即终止整个函数的执行 函数体中的 return 不会影响修改器中 _; 之后的代码执行 执行顺序严格遵循:修改器前段代码 → 函数体 → 修改器后段代码 详细执行流程分析 情况1:修改器中有 return(…

作者头像 李华