Имитация щелчка через службу специальных возможностей AndroidAndroid

Форум для тех, кто программирует под Android
Anonymous
Имитация щелчка через службу специальных возможностей Android

Сообщение Anonymous »

Я пытаюсь имитировать функцию щелчка в приложении Android, используя службу специальных возможностей. Я настроил службу в манифесте и включил ее в настройках своего телефона. У меня есть класс MouseAccessibilityService, который содержит следующую функцию щелчка:

Код: Выделить всё

// Click function that clicks at a specific x and y coordinate
@RequiresApi(api = Build.VERSION_CODES.N)
public static GestureDescription click(float x, float y) {
// for a single tap a duration of 1 ms is enough
final int DURATION = 1;

Path clickPath = new Path();
clickPath.moveTo(x, y);
GestureDescription.StrokeDescription clickStroke =
new GestureDescription.StrokeDescription(clickPath, 0, DURATION);
GestureDescription.Builder clickBuilder = new GestureDescription.Builder();
clickBuilder.addStroke(clickStroke);
return clickBuilder.build();
}
Я вызываю функцию щелчка в MainActivity посредством нажатия кнопки, которая запускает щелчок (в целях тестирования):

Код: Выделить всё

Buttonclick = (Button)findViewById(R.id.clickbutton);

Buttonclick.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onClick(View view) {
//changeButtonText.setText("Second Text");
MouseAccessabilityService.click(centerX, centerY);
}
});
X и Y передаются как целочисленная переменная из какой-то другой функции. Кажется, я не могу заставить функцию click() работать из моего приложения и нажать кнопку.
Я нахожусь на правильной странице? Может ли эта функция вообще работать? Я пока в тупике и буду признателен за любую помощь.
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/586 ... ty-service

Вернуться в «Android»