Android 安卓互联网连接检查
我正在尝试检查可用的internet连接,我发现许多主题都在谈论这一点,但当我尝试验证internet连接时,我仍然存在一个问题,我使用的代码是: 公共布尔等值线{ 连接管理器conMgr= ConnectionManager getSystemServiceContext.CONNECTIVITY\u服务; 如果conMgr.getActiveNetworkInfo!=null&&conMgr.getActiveNetworkInfo.isAvailable&&conMgr.getActiveNetworkInfo.isConnected{ 返回true; }否则{ 返回false; } } 你能帮我什么忙?Android 安卓互联网连接检查,android,connection,Android,Connection,我正在尝试检查可用的internet连接,我发现许多主题都在谈论这一点,但当我尝试验证internet连接时,我仍然存在一个问题,我使用的代码是: 公共布尔等值线{ 连接管理器conMgr= ConnectionManager getSystemServiceContext.CONNECTIVITY\u服务; 如果conMgr.getActiveNetworkInfo!=null&&conMgr.getActiveNetworkInfo.isAvailable&&conMgr.getActive
对不起,我的英语不好。你的方法是正确的。您还需要在android清单文件中:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
但请记住,低信号、服务器停机、捕获门户、内容过滤器和其他网络问题可能会阻止应用程序访问服务器。因此,拥有主动网络接口并不能保证特定的网络服务可用 你的方法是正确的。您还需要在android清单文件中:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
但请记住,低信号、服务器停机、捕获门户、内容过滤器和其他网络问题可能会阻止应用程序访问服务器。因此,拥有主动网络接口并不能保证特定的网络服务可用 在此代码中,您在private var中具有红色状态:
private boolean mIsConnected;
@Override
protected void onResume()
{
super.onResume();
//red status broadcast
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mNetworkStateReceiver, filter);
}
private BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo networkInfo =
(NetworkInfo)intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
mIsConnected= networkInfo.isConnected();
Log.i("TAG", String.format("Status red: %b", mIsConnected))
}
};
在此代码中,您在private var中具有红色状态:
private boolean mIsConnected;
@Override
protected void onResume()
{
super.onResume();
//red status broadcast
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mNetworkStateReceiver, filter);
}
private BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo networkInfo =
(NetworkInfo)intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
mIsConnected= networkInfo.isConnected();
Log.i("TAG", String.format("Status red: %b", mIsConnected))
}
};
@MattBall问题是:NullPointer…@Sam Yes清单文件上设置了Internet权限和访问网络状态。请发布您的logcat错误。执行您的代码段,我相信您的空指针在其他地方。@MattBall问题是:空指针…@Sam Yes Internet权限和访问网络状态已设置在清单文件上。请发布您的logcat错误。执行您的代码段,我相信你的空指针在其他地方。根据问题中提到的代码-我得到的isOnline为True-尽管我手机上的其他应用程序正确识别了问题中提到的代码“无互联网连接”-我得到的isOnline为True-尽管我手机上的其他应用程序正确识别了“无互联网连接”