Задача: нужно проверить при запуске, подключено ли приложение к Bluetooth а, также к сети Интернет.
Если что-нибудь из озвученного отваливается в течение работы или пользователь вырубает принудительно, приложение выдает сообщение и прекращает алгоритм работы. Например, оно не будет ломиться на сервак, пока не получит доступ к сети. Или (что естественно) не будет искать устройства, но если блутуз заработает, то автоматически его продолжит.
Подскажите пожалуйста, что мне нужно почитать и какие методы в своем проекте лучше использовать?
Пока научился лишь проверять подключение. А вот как выявить внезапное отключение либо потерю сети, и подождать в реальном времени, пока оно появится, пока не знаю. Как обратиться к поиску - тоже.
Код для проверки, есть ли соединение с интернетом, стандартный:
if (connectivityManager.getActiveNetworkInfo() != null &&
connectivityManager.getActiveNetworkInfo().isConnected() &&
(Build.VERSION.SDK_INT < Build.VERSION_CODES.M
|| !powerManager.isDeviceIdleMode()
|| powerManager.isIgnoringBatteryOptimizations()))
{
// do something
}
Но нужно понимать, что эта проверка покажет только "техническую возможность". Гарантий, что это подключение позволит связаться с каким-то определенным сервером, нет, поэтому, если необходимо проверять соединение с сервером, а не с "интернетом вообще", то эту проверку нужно продумать и реализовать отдельно.
С Bluetooth все еще хуже, потому что по Bluetooth подключаются разнообразные по функционалу устройства. Подключиться "к Bluetooth" в общем случае невозможно. Вероятно, вам хватит списка "спаренных" устройств. Если нет - уточняйте задачу.
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть Service в приложении, который запускается при нажатии определённой кнопки (либо при запуске устройства через BroadcastReceiver)
Всем доброго утра! Проблема заключается в выборе способа: мне требуется забирать некоторый JSON, который отдается на API сервера (Nodejs по некоторому...
Нужно создать рекурсивный запрос по UDP/TCP протоколуКто может подсказать, как это правильно реализовать?