1

嗨,我正在使用 UsageStatsManager api 向用户显示一些使用列表。但我面临一些问题。我在许多设备中都遇到了这个错误,在某些设备中它工作正常。我仍在浏览这个问题。你们能帮我解决这个问题吗?

错误:

java.lang.NoClassDefFoundError: android.app.usage.UsageStatsManager
    at com.yourapp.fragment.AppUsageStatisticsFragment.onViewCreated(AppUsageStatisticsFragment.java:64)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
    at android.os.Handler.handleCallback(Handler.java:800)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:194)
    at android.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.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:854)
    at com.android.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 android:name="android.permission.PACKAGE_USAGE_STATS"
    tools:ignore="ProtectedPermissions"/>

检查我的应用程序

4

2 回答 2

2

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

于 2016-04-21T06:14:35.727 回答
1

UsageStatsManager已在 API 级别 21 中添加,因此您将ClassNotFoundException在 preLollipop 上得到它。

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

于 2016-04-21T07:06:04.487 回答