JAVANoClassDefFoundError:安卓。应用程序。用法安卓中的UsageStatsManager
您好,我正在使用UsageStatsManager api向用户显示一些使用列表。但我面临一些问题。我在很多设备上都遇到了这个错误,在某些设备上工作正常。我仍然在关注这个问题。你们能帮我解决这个问题吗
错误:
java.lang.NoClassDefFoundError: 安卓.app.usage.UsageStatsManager
at com.yourapp.fragment.AppUsageStatisticsFragment.onViewCreated(AppUsageStatisticsFragment.java:64)
at 安卓.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
at 安卓.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
at 安卓.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
at 安卓.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
at 安卓.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
at 安卓.os.Handler.handleCallback(Handler.java:800)
at 安卓.os.Handler.dispatchMessage(Handler.java:100)
at 安卓.os.Looper.loop(Looper.java:194)
at 安卓.app.ActivityThread.main(ActivityThread.java:5463)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:854)
at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:621)
at dalvik.system.NativeStart.main(Native Method)
我使用的代码:
private UsageStatsManager mUsageStatsManager;
//i am getting error at below line.
mUsageStatsManager = (UsageStatsManager) getActivity()
.getSystemService("usagestats"); //Context.USAGE_STATS_SERVICE
清单:
<uses-permission 安卓:name="安卓.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions"/>
检查我的app
# 1 楼答案
UsageStatsManager
添加到API级别21中这不是appcompact API的一部分。这就是为什么在API级别21之前,您将获得ClassNotFoundException
# 2 楼答案
UsageStatsManager
是在API级别21中添加的,因此您将在预列印上获得此ClassNotFoundException
此外,一些三星和其他设备也在棒棒糖上抛出
ClassNotFoundException
,因为它们没有包含该类,您只能在API 22
中安全地使用该类