android - But it still error application requires INJECT_EVENTS permission -
i follow : android inject_events permission , permission: inject_events instrumenation other apps
1.i have done root phone success.
2.i have done follow sign application apk , copy app.apk system/app , set permission app.apk rw-r--r-- app root explorer
3.i add <uses-permission android:name="android.permission.inject_events" /> in androidmanifest.xml
but still error require inject permissoin. don't know why?
06-06 21:23:31.815: e/opencv::camera(21812): calling (*pgetpropertyc)(0x7bde06c8, 3) 06-06 21:23:32.058: e/androidruntime(21812): fatal exception: thread-1881 06-06 21:23:32.058: e/androidruntime(21812): process: com.example.handtracking, pid: 21812 06-06 21:23:32.058: e/androidruntime(21812): java.lang.securityexception: injecting application requires inject_events permission 06-06 21:23:32.058: e/androidruntime(21812): @ android.os.parcel.readexception(parcel.java:1472) 06-06 21:23:32.058: e/androidruntime(21812): @ android.os.parcel.readexception(parcel.java:1426) 06-06 21:23:32.058: e/androidruntime(21812): @ android.hardware.input.iinputmanager$stub$proxy.injectinputevent(iinputmanager.java:356) 06-06 21:23:32.058: e/androidruntime(21812): @ android.hardware.input.inputmanager.injectinputevent(inputmanager.java:642) 06-06 21:23:32.058: e/androidruntime(21812): @ android.app.instrumentation.sendpointersync(instrumentation.java:937) 06-06 21:23:32.058: e/androidruntime(21812): @ com.example.handtracking.cameraservice$cameraworker$2.run(cameraservice.java:293) 06-06 21:23:32.274: e/surface(240): queuebuffer: error queuing buffer surfacetexture, -32 06-06 21:23:32.276: e/mtkcam/displayclient(240): (22102)[enqueprvops] mpstreamops->enqueue_buffer failed: status[broken pipe(32)], rpimgbuf(0xb7381fb8,0xaeeb1000) (enqueprvops){#369:mediatek/hardware/mtkcam/v1/client/displayclient/displayclient.stream.cpp} 06-06 21:23:32.406: e/sensors(785): handletodriver handle(0) 06-06 21:23:32.406: e/sensors(785): handletodriver handle(0) 06-06 21:23:32.409: e/sensors(785): new setdelay handle(0),ns(1000000)m, error(0), index(1) 06-06 21:23:32.409: e/accel(785): acc batch: handle:0, en:0, maxbatchreportlatencyns:0 06-06 21:23:32.409: e/sensors(785): sensor 0 go common batch 06-06 21:23:32.480: e/sensors(785): handletodriver handle(0) 06-06 21:23:32.480: e/sensors(785): handletodriver handle(0) 06-06 21:23:32.483: e/sensors(785): new setdelay handle(0),ns(1000000)m, error(0), index(1) 06-06 21:23:32.483: e/accel(785): acc batch: handle:0, en:0, maxbatchreportlatencyns:0 06-06 21:23:32.483: e/sensors(785): sensor 0 go common batch 06-06 21:23:32.743: e/proximity(785): proximitysensor: unknown event (type=3, code=0) 06-06 21:23:32.843: e/proximity(785): proximitysensor: unknown event (type=3, code=0) 06-06 21:23:33.543: e/proximity(785): proximitysensor: unknown event (type=3, code=0) code inject event
thread_touch = new thread(){ @override public void run(){ instrumentation m_instrumentation = new instrumentation(); m_instrumentation.sendpointersync(motionevent.obtain( systemclock.uptimemillis(), systemclock.uptimemillis(), motionevent.action_down,x, y, 0)); m_instrumentation.sendpointersync(motionevent.obtain( systemclock.uptimemillis(), systemclock.uptimemillis(), motionevent.action_up,x,y, 0)); } }; thread_touch.start(); my phone lenovo p70 android 4.4.4
this permission granted system apps. 3rd party cannot have it. unless sign app system certificate, not granted inject_events permission.
allows application inject user events (keys, touch, trackball) event stream , deliver them window. without permission, can deliver events windows in own process.
not use third-party applications.
Comments
Post a Comment