Я нацелен на API 17 и использую приведенный ниже код для включения прямого Wi-Fi (P2P). Все работает нормально (поиск и подключение к одноранговым узлам), однако, когда он не используется, WiFi-direct время от времени отключается (похоже, это зависит от телефона Android - у меня около 3-5 минут), что также отключает WiFi заставляет меня терять подключение к Интернету.
У меня есть приемник, который определяет, когда состояние P2P изменяется, чтобы снова включить его, но было бы здорово, если P2P всегда будет включен, даже если он не подключен к какому-либо одноранговому узлу.
Можно ли продолжать пинговать сам телефон Android для этого? Любое другое предложение?
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) {
// UI update to indicate wifi p2p status.
int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);
if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) {
// Wifi Direct mode is enabled
activity.setIsWifiP2pEnabled(true);
} else {
activity.setIsWifiP2pEnabled(false);
activity.resetData();
}