2012-11-12 2 views
0

와이파이 상태를 토글하는 와이파이 위젯이 있습니다. 그러나 사용자가 내 위젯을 사용하지 않고 Wi-Fi 상태를 변경하면 내 위젯에 변경 사항이 반영되지 않습니다. 전의. Wi-Fi가 켜져 있고 사용자가 설정을 통해 Wi-Fi를 껐다면 Wi-Fi가 업데이트되지 않았기 때문에 위젯에 계속 표시됩니다.Wi-Fi 상태가 변경되면 어떻게 위젯 업데이트를 호출합니까?

Wi-Fi 상태가 변경된 후 위젯을 업데이트하려면 어떻게해야합니까?

답변

0

사용하십시오 BroadcastReceiver

IntentFilter mFilter = new IntentFilter(); 
mFilter .addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION); 
registerReceiver(yourReceiver, mFilter); 

yourReceiver 클래스 사용의 onReceive에서

if (action.equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) { 
//Do something 
} 

이 위젯

0

당신 업데이트 할 사용하여 수신기를 등록 그러한 변화

을 알립니다 andro를 등록해야합니다. id.net.conn.CONNECTIVITY_CHANGE 및 android.net.wifi.WIFI_STATE_CHANGED 작업을 수신자에게 보냅니다.

다음 onReceive 방법, 아래의 코드를 사용하여 위젯 업데이트 :

Intent i = new Intent(context, WidgetProvider.class); 
i.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE); 
i.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, 
AppWidgetManager.getInstance(context).getAppWidgetIds(new ComponentName(context, WidgetProvider.class))); 
context.sendBroadcast(i); 

감사를

레오나르도 올리베이라

관련 문제