因此,即时通讯的工作需要我知道什么时候正在更新设备上的另一个应用程序。所以我的问题很简单,可以说YouTube或Spotify在应用程序更新时发送广播,如果有的话,我需要使用我的broadcastReceiver。Android应用程序更新广播
2
A
回答
7
你的意图过滤器应该是这样的:
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" />
</intent-filter>
从你的广播接收器的onReceive方法应该是:
@Override
public void onReceive(Context context, Intent intent) {
Uri data = intent.getData();
if (data.toString().equals("package:" + "com.target.package") {
// action to do
}
}
3
ACTION_PACKAGE_REPLACED是行动时触发一个应用程序正在更新 根据文档:
的应用程序包的新版本已经安装,更换 以前安装的现有版本。该数据包含 包的名称。
intent.getPackage()
返回这个意图特别强调的包或应用程序,但它被发送给任何感兴趣的接收器,因此没有这样的包。
使用intent.getData()
返回更新包作为一个开放的
0
根据android文档: 广泛施放行动:您的应用程序的新版本已安装在现有应用程序上。这只会发送到被替换的应用程序。它不包含任何额外的数据;要接收它,只需使用意向过滤器来执行此操作。
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
<data android:scheme="package" />
</intent-filter>
从你的广播接收器的onReceive方法应该是:
@Override
public void onReceive(Context context, Intent intent) {
// action to do
}
相关问题
- 1. 使用广播重新启动应用程序 - Android
- 2. Android应用程序更新
- 3. Android应用程序更新
- 4. 更新Android应用程序
- 5. 更新Android应用程序
- 6. Android更新应用程序
- 7. Android应用程序更新
- 8. 更新android应用程序
- 9. 更新应用程序-Android
- 10. 更新Android应用程序。小更新
- 11. C#更好的压缩远程桌面广播应用程序
- 12. Android应用程序小部件广播不起作用
- 13. 的Widget UI不响应更新广播
- 14. Android应用程序市场更新传播
- 15. Android应用程序的广播流mms:// howto
- 16. Android广播发送应用程序的包名
- 17. 在Android应用程序中Deepzer Deezer(广播和艺术家)
- 18. 当应用程序关闭时的广播接收器android
- 19. 通过android应用程序在局域网中广播消息
- 20. Android广播接收器,当应用程序在后台
- 21. Android:广播接收器在应用程序安装/卸载
- 22. 安装应用程序后的Android广播接收器
- 23. 关闭Android应用程序破坏广播接收机
- 24. 限制Android广播接收器从特定的应用程序
- 25. 打开应用程序的广播接收器 - Android
- 26. Android应用程序与广播接收器后重新启动为主
- 27. 远程更新android应用程序
- 28. 当我的应用程序更新了新版本代码时如何接收广播本身android
- 29. 用eclipse更新android应用程序
- 30. 使用Intent.Up更新Android应用程序
将这项工作为自己的应用程序?如果您的应用已更新,广播接收器是否会执行? –