#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 в своем проекте. Но как только я выполняю приведенный выше (первый) код, он по-прежнему запрашивает предупреждение «Да» / «Нет».