android中报错: Cannot resolve symbol 'INJECT_EVENTS' . 相关的代码: ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.INJECT_EVENTS) != PackageManager.PERMISSION_GRANTED
时间: 2024-03-07 07:49:06 浏览: 288
`INJECT_EVENTS` 是 Android 6.0 (API level 23) 引入的一个隐藏权限,用于允许应用程序注入用户输入事件。但是,从 Android 8.0 (API level 26) 开始,该权限已经被弃用,并且不能再被应用程序使用。
因此,`Manifest.permission.INJECT_EVENTS` 这个常量在 Android Studio 中会被标记为错误。你可以通过以下方法来解决这个问题:
1. 将 `Manifest.permission.INJECT_EVENTS` 替换为 `Manifest.permission.USE_FINGERPRINT`,这是一个可以替代 `INJECT_EVENTS` 的权限常量。但是,这个权限也已经被标记为弃用,建议你不要使用这个权限。
2. 如果你只是想检查应用程序是否被授予了权限,可以使用 `ContextCompat.checkSelfPermission()` 方法和相应的权限常量。例如,如果你想检查应用程序是否被授予读取外部存储器的权限,可以使用以下代码:
```
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
// 已经被授予了读取外部存储器的权限
} else {
// 还没有被授予读取外部存储器的权限,需要请求权限
}
```
在这个例子中,`Manifest.permission.READ_EXTERNAL_STORAGE` 是一个常量,用于指定读取外部存储器的权限。
希望这可以帮助你解决这个问题。
阅读全文