BatteryManager: похоже, использование намерения ACTION_BATTERY_CHANGED - это путь, и настройка широковещательного приемника на случай, если это изменится.Это правильно?
Да, это один из способов контролировать такие вещи, как, например, когда подключено зарядное устройство (включая подключение к USB-порту с возможностью зарядки).Вы также можете использовать ACTION_POWER_CONNECTED
.
- подключить к телефону явное действие пользователя?
НЕТ - определенно нет, если вы не создадите всплывающее окно с запросомсогласие пользователя.Чтобы процитировать документы для метода enable()
...
Bluetooth никогда не должен быть включен без прямого согласия пользователя. Если вы хотите включить Bluetooth для созданиябеспроводное соединение, , вам следует использовать намерение ACTION_REQUEST_ENABLE, которое вызовет диалог, запрашивающий у пользователя разрешение на включение Bluetooth .Метод enable () предоставляется только для приложений, в которых имеется пользовательский интерфейс для изменения системных настроек, например, приложение «Power Manager».
При подключении устройства к зарядке 9 раз из10 Я не хочу ничего делать, кроме как заряжать.Если бы я установил ваше приложение на моем телефоне и обнаружил, что он подключался по Bluetooth без вывода сообщений и без моего ведома, ваше приложение было бы удалено сразу.
Есть известные проблемы безопасности с Bluetooth и, в зависимости от пользователянастройках, вы можете подвергнуть риску чье-то устройство, если оно включено без его ведома.
Может ли намерение быть методом, а не просто деятельностью?
Нет, нетIntent
является частью системы обмена сообщениями.См. Intent и Intent Filters .Да, я знаю, что он не очень "дружественен к новичкам", но Android - сложный зверь, и если вы действительно хотите успешно программировать для него, вы должны прочитать подобные вещи.