连接管理器上的nullpointer异常

时间:2011-07-01 02:24:32

标签: android

public boolean isOnline() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    return cm.getActiveNetworkInfo().isConnectedOrConnecting();}

我在return cm.getActiveNetworkInfo上获得了一个nullpointer。

我试过this.getSystemService但也没用。也许是因为我的活动扩展了我创造的超级活动,而且我正在错误地抓住背景......?我也试过了getBaseContext()

2 个答案:

答案 0 :(得分:1)

在返回线上将两个方法链接在一起,你确定ConnectivityManager返回null吗?当没有活动网络时,ConnectivityManager.getActiveNetworkInfo()返回null而不是有效NetworkInfo对象是完全有效的。如果这回来null,那么调用NetworkInfo.isConnectedOrConnecting()就是抛出异常。

答案 1 :(得分:0)

猜猜#1:

你的清单中有这些吗?

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE">
相关问题