android - API 级别 26 及以上:如何检测是否安装了应用程序?
问题描述
我们有 Android 应用程序,它可以检测设备上是否安装/卸载了应用程序。在清单文件的帮助下,如下所示:
<action android:name="android.intent.action.PACKAGE_INSTALL"/>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
android 应用程序从内部系统接收广播并将其发送到我们的服务器。
但是在 API 26 之后,android 操作系统没有为 Package_Installed 广播。
任何人都知道如何在 API 杠杆 26 之后检测应用程序安装。
解决方案
面向 Android 8.0 或更高版本的应用无法再在其清单中为隐式广播注册广播接收器。如果应用程序使用 Context.registerReceiver() 注册其 BroadcastReceiver 并且该上下文仍然有效,它们仍将接收广播。
https://developer.android.com/about/versions/oreo/background#broadcasts
推荐阅读
- angular - 如何在组件功能中使用服务?
- mysql - SQL 错误 ORDER BY 子句不起作用
- c# - 我的 Gps 服务中的问题
- javascript - 带有凭据的Angular 6 httpClient Post
- android - 在 CM3 上使用 Raspberry Pi Display 和 Android Things
- c - 内核到用户空间的低延迟通信
- php - 返回每个对象或一个 arrayCollection 之间的区别
- php - Symfony 4 - 如何在测试前运行 Doctrine 迁移?
- bots - Facebook Messenger Handover Protocol 机器人程序配置文件更改
- vue.js - Vuejs - 如何从另一个 Js 文件调用 main.js 的挂载函数