寫了一個(gè) 飛鼠 這么個(gè)功能的東西 但是還要實(shí)現(xiàn)點(diǎn)擊功能 就是 客戶端發(fā)送個(gè)點(diǎn)擊命令 然后 服務(wù)端 那個(gè)移動的鼠標(biāo)箭頭 那個(gè)位置要點(diǎn)擊一下 但是我用Instrumentation去實(shí)現(xiàn)這個(gè)點(diǎn)擊效果的時(shí)候 就出現(xiàn)了一個(gè)權(quán)限錯(cuò)誤
<uses-permission android:name="android.permission.INJECT_EVENTS" />
把這個(gè)權(quán)限寫到xml里面的時(shí)候 提示只有系統(tǒng)app才能使用 可是點(diǎn)擊明明是在同一個(gè)程序里的啊 怎么也會出現(xiàn)權(quán)限問題呢 代碼實(shí)現(xiàn)是這樣的:
public void Press(int x,int y){
Instrumentation instrumentation = new Instrumentation();
instrumentation.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, x, y, 0));
}
這個(gè)方法寫在jar包中給程序調(diào)用 xy是需要發(fā)送點(diǎn)擊的坐標(biāo)
在程序里面是在一個(gè)接口的內(nèi)部類里面去實(shí)現(xiàn):
@Override
public boolean xxxxxx(int argo){
new Thread(new Runnable{
Press.press(100,1);
}).start();
}
就是這樣 但是在運(yùn)行的時(shí)候就出權(quán)限錯(cuò)誤 這是怎么一回事啊
1 回答

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
INJECT_EVENTS 是系統(tǒng)級app才能使用的權(quán)限,什么意思呢,就是你的應(yīng)用是系統(tǒng)自帶的應(yīng)用,那種不被卸載的。
如果你這邊是做手機(jī)系統(tǒng)內(nèi)置應(yīng)用的那么,就可以用,如果只是一般應(yīng)用的話就不行。
添加回答
舉報(bào)
0/150
提交
取消