- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我似乎无法捕捉到它,而且我也看不到它在 Logcat 中发送。来自评论ACTION_MY_PACKAGE_REPLACED not received ,看起来 MY_PACKAGE_REPLACED 应该是 API22 所需要的。
我错过了什么?
谢谢。
来自 AndroidManifest.xml 的 fragment
<receiver
android:name=".BootReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver>
启动接收器
class BootReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == "android.intent.action.BOOT_COMPLETED" ||
intent.action == "android.intent.action.MY_PACKAGE_REPLACED") {
Log.d(TAG, "Caught BOOT_COMPLETED or PACKAGE_REPLACED action!")
GlobalScope.launch(Dispatchers.IO) {
...
}
}
}
}
最佳答案
经过进一步调查,如果从图片中删除 Android Studio (AS),此方法可以正常工作;用它来构建 APK,或许还可以查看 Logcat,仅此而已。如果我只从命令行/终端安装/替换应用程序,并且不从 AS 运行应用程序和相关应用程序,这将按预期工作。在我的例子中,因为我经常从 AS 安装/运行,所以我不得不执行以下两次并且 android.intent.action.MY_PACKAGE_REPLACED 被第二次捕获:
adb -s emulator-5554 install -r app-debug.apk
我再说一遍,在这方面,从 Android Studio 运行该应用程序时,android.intent.action.MY_PACKAGE_REPLACED 有几个问题,遗憾的是,我花了几个小时来解决这个问题!
关于android.intent.action.MY_PACKAGE_REPLACED 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64576768/
我有一个应用程序更新接收器,它在调试 apk 中运行良好。但在使用 Google Play 构建或已安装的发布构建发布和更新后,它不会被调用。 list 文件中的接收者条目是
我有以下应用场景: 1) 自行更新的应用程序 2)设备已root 3)在线检查版本,如果新版本在线,它会下载“apk”文件并安装它 一切正常,但新版本安装后APP没有重启。我试图设置 MY_PACKA
根据 Android O 开发者预览版,我们不能再使用 PACKAGE_REPLACED Intent 与 list 中声明的接收器一起使用。 替代方案是 MY_PACKAGE_REPLACED。
我似乎无法捕捉到它,而且我也看不到它在 Logcat 中发送。来自评论ACTION_MY_PACKAGE_REPLACED not received ,看起来 MY_PACKAGE_REPLACED
我在广播的 list 中有一个 intent-filter 声明。
我从来没有收到 MY_PACKAGE_REPLACED 通知。如果我将其更改为 PACKAGE_REPLACED,我确实会收到预期的通知。 我的SDK级别是19,设备是4.0及以上。 有没有人了解这个
我希望能够测试 MY_PACKAGE_REPLACED 的 BroadcastReceiver。 我可以使用 adb 命令完成此操作吗? 当我从 IDE (Android studio) 启动应用程序
我是一名优秀的程序员,十分优秀!