gpt4 book ai didi

java - 其他应用程序的 Android Broadcastreceiver 安装/删除不起作用

转载 作者:行者123 更新时间:2023-11-29 22:54:55 24 4
gpt4 key购买 nike

我有一个 Broadcastreceiver 来检测其他应用程序的安装或删除。

这是我的Java

public class AppListener extends BroadcastReceiver {

@Override
public void onReceive(Context var1, Intent var2) {
// TODO Auto-generated method stub

Log.d("AppTag", "Received!");
}
}

这是我的 list

<receiver android:name=".AppListener">
<intent-filter android:priority="999">
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_CHANGED" />
<data android:scheme="package"/>
</intent-filter>
</receiver>

但是每当我安装或删除应用程序时,什么都没有发生!

最佳答案

您正在尝试收听 ACTION_PACKAGE_ADDEDACTION_PACKAGE_REPLACED 之类的广播。这适用于 Android 7.1 及更低版本。在 Android 8.0+ 上,您无法在 list 中注册这些广播,如 most implicit broadcasts are banned .

相反,您需要 call getChangedPackages() on PackageManager定期,例如通过 WorkManager。这不会为您提供实时结果,但在 Android 8.0+ 上不再提供实时结果选项。

关于java - 其他应用程序的 Android Broadcastreceiver 安装/删除不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57537002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com