无法使用getSystemService("usagestats")Android Studio

Abh*_*hek 10 android

我试图UsageStatsManager参考这个 SO问题.我的代码行是

  UsageStatsManager usageStatsManager=(UsageStatsManager)context.getSystemService("usagestats");
Run Code Online (Sandbox Code Playgroud)

我也试过用

  UsageStatsManager usageStatsManager=(UsageStatsManager)context.getSystemService(Context.USAGE_STATS_SERVICE);
Run Code Online (Sandbox Code Playgroud)

无论我使用什么Android Studio都说,"必须是以下之一:Context.POWER_SERVICE,Context.WINDOW_SERVICE ......"

经过大量的研究后我才知道它Context.USAGE_STATS_SERVICE是隐藏的,所以我必须添加权限

<uses-permission
    android:name="android.permission.PACKAGE_USAGE_STATS"
    tools:ignore="ProtectedPermissions" />
Run Code Online (Sandbox Code Playgroud)

但结果仍然相同.我错过了什么?

小智 11

必须是Android Studio中的某种错误.您可以添加以下内容来禁用检查

//noinspection ResourceType
UsageStatsManager usageStatsManager=(UsageStatsManager)context.getSystemService("usagestats");
Run Code Online (Sandbox Code Playgroud)

  • 这不是 AS 中的错误,`Context` 希望它成为用 `@ServiceName` 注释的常量之一。所以这是上下文中的一个错误。 (2认同)