java - clickLongOnScreen(x,y) 和 clickLongOnView(v) 返回 "Injecting to another application requires INJECT_EVENTS permission"

标签 java android robotium

使用 com.bitbar.recorder.extensions.ExtSolo 测试长按屏幕和 View 返回 java.lang.SecurityException。

View v = findViewById("com.view.id");

int location[] = new int[2];
v.getLocationOnScreen(location);

clickLongOnScreen(location[0], location[1]);

clickLongOnView(v);

完整错误信息:

java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
at android.os.Parcel.readException(Parcel.java:1327)
at android.os.Parcel.readException(Parcel.java:1281)
at android.view.IWindowManager$Stub$Proxy.injectPointerEvent(IWindowManager.java:1203)
at android.app.Instrumentation.sendPointerSync(Instrumentation.java:902)
at com.jayway.android.robotium.solo.Clicker.clickLongOnScreen(Clicker.java:117)
at com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:154)
at com.jayway.android.robotium.solo.Solo.clickLongOnView(Solo.java:933)
at com.bitbar.recorder.extensions.ExtSolo.a(ExtSolo.java:3525)
at com.bitbar.recorder.extensions.a.a(Clicker.java:63)
at com.bitbar.recorder.extensions.a.a(Clicker.java:84)
at com.bitbar.recorder.extensions.ExtSolo.clickLongOnView(ExtSolo.java:1394)
at com.ui.android.test.UI.longClickAndDrag(UI.java:174)
at com.ui.android.test.Test_1_17_006_LONGPRESS(Test.java:1153)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)

最佳答案

当您尝试将事件发送到不属于您的应用程序的窗口时,会抛出该异常。您需要找出导致您的应用不是目标的原因。

关于java - clickLongOnScreen(x,y) 和 clickLongOnView(v) 返回 "Injecting to another application requires INJECT_EVENTS permission",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22098463/

相关文章:

android - 如何一起使用 MonkeyRunner 和 Robotium(不是分开使用!)

android - 没有连接到授权服务器。 eclipse 的 Testdroid 插件

java - "Required MultipartFile parameter ' 使用 Angular 和 Spring 上传文件 ' is not present"

java - 如何在 logcat for android 中查看数组

android - 使用 Apache Flex SDK4.8.0、AIR3.4 和 FDT5.6.2 编译生成 "unable to open ' {airHome}/frameworks/libs/air/airglobal.swc'"

php - 在 Android 中将 Retrofit 发布到 Rest 服务器

Android 为产品口味定制工作流程

java - 如何获取android项目中文件的路径

java - java中仅支持IPv6的套接字

java - 区分委托(delegate)、组合和聚合(Java OO 设计)