Возможно ли принудительно ввести «Да» / «Нет» из любого диалогового окна Android?

#java #android #optimization #dialog #alert

#java #Android #оптимизация #диалог #предупреждение

Вопрос:

У меня есть несколько намерений, которые в конечном итоге спрашивают пользователя, «Да» или «Нет».

В котором само диалоговое окно не из моего кода. Я просто выполняю намерение.

Мой вопрос довольно прост.

Как переопределить каждое диалоговое окно, отображаемое из намерения, и принудительно установить в нем «да» / «нет»?

например, этот код:

 Intent BlueIntent  = new Intent(bluetooth.ACTION_DISCOVERY_STARTED);
        BlueIntent.putExtra(bluetooth.EXTRA_DISCOVERABLE_DURATION, 300);
        startActivity(BlueIntent);
  

Мы все знаем, что приведенный выше код запросит пользователя (показывая диалоговое окно «ДА / Нет») у пользователя.
Итак, как программно принудительно выбрать «да» или «нет» для каждого отображаемого диалогового окна?

есть идеи?

Комментарии:

1. Можете ли вы использовать пользовательские диалоги? Я не уверен, можно ли это сделать с диалоговыми окнами по умолчанию.

2. конечно, если мы используем пользовательский диалог, это было бы возможно. Но как насчет приведенного выше утверждения? Я имею в виду, как мы могли бы это настроить? @ShivamVerma

3. Вы нашли решение? Я думаю, что это очень правильный вопрос

4. Я проверю это позже @Snake….

Ответ №1:

Ответ:

Насколько я знаю, обычно невозможно переопределить пользовательский ввод в другом действии.

Причина:

Вы открываете настройки Bluetooth с помощью Intent и позволяете пользователю обрабатывать остальное. ни одно приложение не должно обрабатывать / изменять входные события другого (если это не служба специальных возможностей). Таким образом, это нарушает всю концепцию безопасности приложений.

В случае AccessibilityService s пользователь должен запустить их явно, используя настройки специальных возможностей, которые имеют специальные службы. смотрите документы.

AccessibilityService Может перехватывать пользовательский ввод и определенные события, но я не уверен, как это можно использовать для достижения того, чего вы хотите.

[СОВЕТ] Я думаю, вы можете открыть Bluetooth напрямую, если у вас есть android.permission.BLUETOOTH_ADMIN разрешение. таким образом вы можете избежать диалогового окна по умолчанию, сгенерированного настройками.

Надеюсь, мой ответ поможет вам.

Комментарии:

1. Я уже установил это разрешение BLUETOOTH_ADMIN в своем проекте. Но как только я выполняю приведенный выше (первый) код, он по-прежнему запрашивает предупреждение «Да» / «Нет».