【发布时间】:2017-03-24 09:02:18
【问题描述】:
我正在实现一个广播接收器来检查连接。我想从接收者的 onReceive 方法中调用 service 的方法。
如何从接收方调用服务方法?
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if ((intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)
|| (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)))) {
boolean status = NetworkUtil.isOnline(context);
if (status) {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
ComponentName thisWidget = new ComponentName(context, WidgetProvider.class);
int[] appWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
// Here I want to invoke a method in the service to consume api and check new results ;
updateAllWidgets(context, appWidgetManager, appWidgetIds);
}
Toast.makeText(context, "Network change " + msg, Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
See this 这可能会解决您的问题。
标签: android service android-broadcastreceiver