gpt4 book ai didi

android - getRunningTasks LOLLIPOP 集成

转载 作者:行者123 更新时间:2023-11-30 01:39:43 25 4
gpt4 key购买 nike

getRunningTasks 在 LOLLIPOP 中已弃用。您必须使用 UsageStatsManager 才能获取前台应用程序的包名称。我已经在 Android 6.0 上测试过,一切正常。

问题是我不想将项目设置为从 Android 5.0 运行(大多数用户在 KitKat 上)。所以我用 LOLLIPOP 编译我的项目,并根据 Android 版本运行我需要的功能(我确保不在较低的 api 杠杆上使用 UsageStatsManager 运行任何代码)。在我的 list 中,我将 minSdkVersion 设置为 10。我已经在 Android 4.1.1 上测试了该应用程序的运行情况,但我在 Logcat 中看到了这一点:

01-06 19:57:17.570: E/dalvikvm(31534): Could not find class 'android.app.usage.UsageStatsManager', referenced from method 
01-06 19:57:17.570: W/dalvikvm(31534): VFY: unable to resolve check-cast 39 (Landroid/app/usage/UsageStatsManager;) in
01-06 19:57:17.570: D/dalvikvm(31534): VFY: replacing opcode 0x1f at 0x0009
01-06 19:57:17.585: D/dalvikvm(31534): DexOpt: unable to opt direct call 0x00a5 at 0x23 in L

我应该担心这些错误/警告吗?该应用程序有效,但我不确定它是否适用于所有设备(api 级别低于 21)。

另一种可能的解决方案是使用反射,然后你会得到一些 api 级别低于 21 的异常。如果应用程序已经在做它必须做的事情,我不确定这是否值得付出努力(我唯一关心的是来自 logcat )。

最佳答案

Should I be worried about these Errors/Warnings?

不,只要您不尝试执行包含缺失项的行。 Android 应用程序通常有很多这样的消息,因为它们来自标准的“渐进增强/优雅降级”编程。 Dalvik/ART 将在加载类时尝试解析符号,并在找不到符号时发出消息。但是,只要您不使用缺失的符号,生活就是美好的。

The app works but I am not sure if it would work on all devices(with api level less than 21).

如果您支持 Android 1.x,这种方法将不起作用,因为 Dalvik 会抛出一个真正的异常,而不是仅仅记录丢失的符号。如果您在 2016 年支持 Android 1.x,那么您是圣人、疯子,或者两者兼而有之。

关于android - getRunningTasks LOLLIPOP 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34662111/

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