gpt4 book ai didi

android - MEDIA_PROJECTION_SERVICE 在调用 getSystemService() 时无效

转载 作者:太空宇宙 更新时间:2023-11-03 10:19:23 25 4
gpt4 key购买 nike

我正在尝试开发一个需要捕获屏幕内容的应用程序。我的目标是 Lollipop ,以避免对 root 的要求。当尝试通过调用 getSystemService() 获取 MediaProjectionManager 的实例时,我在 Android Studio 中收到以下错误报告:

Must be one of: Context.POWER_SERVICE, Context.WINDOW_SERVICE, Context.LAYOUT_INFLATER_SERVICE, Context.ACCOUNT_SERVICE, Context.ACTIVITY_SERVICE, Context.ALARM_SERVICE, Context.NOTIFICATION_SERVICE, Context.ACCESSIBILITY_SERVICE, Context.CAPTIONING_SERVICE, Context.KEYGUARD_SERVICE, Context.LOCATION_SERVICE, Context.SEARCH_SERVICE, Context.SENSOR_SERVICE, Context.STORAGE_SERVICE, Context.WALLPAPER_SERVICE, Context.VIBRATOR_SERVICE, Context.CONNECTIVITY_SERVICE, Context.WIFI_SERVICE, Context.WIFI_P2P_SERVICE, Context.NSD_SERVICE, Context.AUDIO_SERVICE, Context.MEDIA_ROUTER_SERVICE, Context.TELEPHONY_SERVICE, Context.CLIPBOARD_SERVICE, Context.INPUT_METHOD_SERVICE, Context.TEXT_SERVICES_MANAGER_SERVICE, Context.DROPBOX_SERVICE, Context.DEVICE_POLICY_SERVICE, Context.UI_MODE_SERVICE, Context.DOWNLOAD_SERVICE, Context.NFC_SERVICE, Context.BLUETOOTH_SERVICE, Context.USB_SERVICE, Context.INPUT_SERVICE, Context.DISPLAY_SERVICE, Context.USER_SERVICE, Context.PRINT_SERVICE less... (Ctrl+F1) 

Reports two types of problems:
* Supplying the wrong type of resource identifier. For example, when calling Resources.getString(int id), you should be passing R.string.something, not R.drawable.something.
* Passing the wrong constant to a method which expects one of a specific set of constants. For example, when calling View#setLayoutDirection, the parameter must be android.view.View.LAYOUT_DIRECTION_LTR or android.view.View.LAYOUT_DIRECTION_RTL.

我目前不知道为什么这个常量被认为是无效的,它作为一个自动完成选项存在,所以它存在,并且它显示在我看到的 Lollipop 屏幕截图的所有示例代码中。我已验证项目设置将 Android SDK 21 指定为最小值和目标。我可能会遗漏其他明显/愚蠢的东西会导致此错误吗?

更新:将完全相同的代码用于 Eclipse,它可以正常工作。所以这似乎与 Android Studio 中的某些东西特别相关。

最佳答案

我在获取 Context.BLUETOOTH_SERVICE 时遇到此错误并且错误文档(必须是其中之一..)包含 Context.BLUETOOTH_SERVICE 虽然.

这不是 Android Studio“1.2”的工作方式。 :@

无论如何,它是一个Inspection 错误,常量和资源类型不匹配(Bluetooth 到底是怎么成为android 上下文中的资源的)。

您可以为类/方法/语句抑制此行为,对于语句,在语句上方或之前添加 @SuppressWarnings("ResourceType")

另一种方法:

转到 Settings>>Editor>>Inspection>>Android>>Constant and Resource Type Mismatches 并将严重性设置为除 Error 之外的任何内容,可能是 WarningWeak Warning

(虽然它修复了错误问题,但我希望这种不匹配在真正发生时是一个错误。)

关于android - MEDIA_PROJECTION_SERVICE 在调用 getSystemService() 时无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27000896/

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