有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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


共 (2) 个答案

  1. # 1 楼答案

    UsageStatsManager添加到API级别21中这不是appcompact API的一部分。这就是为什么在API级别21之前,您将获得ClassNotFoundException

  2. # 2 楼答案

    UsageStatsManager是在API级别21中添加的,因此您将在预列印上获得此ClassNotFoundException

    此外,一些三星和其他设备也在棒棒糖上抛出ClassNotFoundException,因为它们没有包含该类,您只能在API 22中安全地使用该类