我有一個wifi小部件,切換wifi狀態。但是,如果用戶在不使用我的小部件的情況下更改wifi狀態,那麼我的小部件將不會反映該更改。恩。 wifi開啓,用戶通過設置關閉wifi,小部件仍然會顯示WiFi已打開,因爲它沒有更新。當wifi狀態改變時,你如何調用小部件更新?
無線網絡狀態更改後,如何獲取小部件更新?
我有一個wifi小部件,切換wifi狀態。但是,如果用戶在不使用我的小部件的情況下更改wifi狀態,那麼我的小部件將不會反映該更改。恩。 wifi開啓,用戶通過設置關閉wifi,小部件仍然會顯示WiFi已打開,因爲它沒有更新。當wifi狀態改變時,你如何調用小部件更新?
無線網絡狀態更改後,如何獲取小部件更新?
使用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
}
更新你的widget
您的接收器需要註冊安卓您的接收器中的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);
問候,
萊昂納多Oliveira的