3 回答
TA贡献1934条经验 获得超2个赞
这是一个工作示例:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<receiver android:name=".receiver.ConnectivityReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
。
public class ConnectivityReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(ConnectivityReceiver.class.getSimpleName(), "action: "
+ intent.getAction());
}
}
TA贡献2080条经验 获得超4个赞
关于昨天的评论,我注意到这是不准确的。看起来,至少在某些情况下,如果没有连接,则仅在Intent Extras中添加EXTRA_NO_CONNECTIVITY。因此,使用getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY,false)访问它应该会产生一个布尔值,如果完全没有连接,则为true;如果存在任何连接,则为false。此外,此答案中的代码是反模式,因为分析是有限的。它不会检测到蓝牙网络共享,USB网络共享或LAN连接。不要那样做
- 3 回答
- 0 关注
- 437 浏览
添加回答
举报