获取当前正在运行的应用程序的包名称方法在Android 10中无法正常工作



我正在开发应用程序锁,通过获取顶级应用程序的包名称来显示对所选应用程序的锁定。为此,我每隔1秒调用一次服务中的方法,以检查哪个应用程序在上面。我已经实现了这些链接中给出的答案https://stackoverflow.com/a/28066580/13005440,https://stackoverflow.com/a/38829083/13005440.它在我的像素2(Android 10(设备中无法正常工作。当youtube首次打开/最小化后,上述方法会为其返回正确的程序包名称,但不适用于其他应用程序,如消息、playstore等。我想在应用程序最小化上实现应用程序锁定。

注意:当应用程序(消息、playstore等(第一次打开时,它会返回正确的程序包名称,但当该应用程序通过最小化然后重新打开应用程序进入后台时,该方法不会返回其程序包名称。

我已经搜索了很多,但没有找到任何方法可以在android 10上正常工作

正如有人在您获得解决方案的线程中指出的那样,您是否授予了正确的权限?

你需要这个:

<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>

最新更新