【发布时间】:2016-08-10 14:49:29
【问题描述】:
我查看了这个如何处理网络连接更改的示例: Android Check Internet Connection 并找到了一段非常好的代码来处理这些变化:
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
String status = NetworkUtil.getConnectivityStatusString(context); //some internal class to determinate which type is connected
Toast.makeText(context, status, Toast.LENGTH_LONG).show();
}
}
为了让这个东西工作,我需要在我的清单文件中声明这个 BroadcastReceiver:
<application ...>
...
<receiver
android:name="net.viralpatel.network.NetworkChangeReceiver"
android:label="NetworkChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
...
</application>
现在我想在连接 wifi/移动数据时更新 UI。
我可以将NetworkChangeReceiver 类设为内部静态或外部。但我需要的是我可以使用来自public void onReceive 的MainActivity UI。我该怎么做?
【问题讨论】:
-
我在清单中注册了这个接收器,所以我无法访问构造函数。
标签: android