次のコードスニペットを使用して、sendeventコマンドのバッチを実行して、エミュレータ上の座標44,129をクリックしようとしました。しかし、それは結果を示していません。しかし、もし私がシェルプロンプトに同じバッチのコマンドを与えていれば、上記の座標をうまくクリックすることができます。アンドロイドコードでsendeventシェルコマンドを実行できません
のString [] cmmandemulatorarr = { "/システム/ binに/のSendEventは/ dev /入力/ EVENT0 3 0 44"、 "/システム/ binに/のSendEventは/ dev /入力/ EVENT0 3 1 129"、 「/システム/ bin/sendevent/dev/input/event0 1 330 1 "、 "/system/bin/sendevent/dev/input/event0 0 0 0 "、 "/system/bin/sendevent/dev/input/event0 330 0 "、 "/system/bin/sendevent/dev/input/event0 0 0 0 "、};
for (int i = 0; i < cmmandemulatorarr.length; i++) {
Process process =
Runtime.getRuntime().exec(cmmandemulatorarr[i]);
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
ここに紛失しているものがあるか、コードを介していくつかの座標でクリックイベントを取得するために何か他のものを試す必要があります。
注::コマンドが正常に実行されたように見えるコードを実行している間、ログに例外はありません。
よろしく PINU
しかし、私はルートレベルの特権を持っているエミュレータを試しています。また、画面の一部で自動クリックを実装する方法はありますか? – pinu
"しかし、私はrootレベル特権を持っているエミュレータを試しています" - SDKアプリケーションは、エミュレータ上でさえ、ルートレベルの特権を持っていません。 「幸いなことに、画面の一部に自動クリックを実装する方法はありますか? – CommonsWare