在Android 13中,Google增强了系统调用注入输入事件的安全性,使得仅有具有INJECT_EVENTS权限的应用程序才能调用。如果应用程序没有这个权限,它将会崩溃并显示上述错误信息。
要解决这个问题,您需要在应用程序的Manifest文件中添加以下权限:
此外,确保应用程序在运行时具有此权限,您可以在应用程序中请求该权限。以下是一个请求INJECT_EVENTS权限的例子:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.INJECT_EVENTS)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.INJECT_EVENTS},
MY_PERMISSIONS_REQUEST_INJECT_EVENTS);
}
此代码片段将检查应用程序是否具有INJECT_EVENTS权限,如果没有,它将向用户请求此权限。