protected boolean isOnline()
{
ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
if (info != null && info.isConnectedOrConnecting()) {
return true;
}else
{
return false;
}
}
public void requestData()
{
if (isOnline())
{
Toast.makeText(getApplicationContext(), "connected", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), "Niot Connected", Toast.LENGTH_LONG).show();
}
}
我已经编写了这段代码,但是我收到了类似&#34的错误;不幸的是你的程序已经停止" ..请帮帮我.. 在此先感谢
答案 0 :(得分:0)
您需要将此添加到androidmanifest.xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
答案 1 :(得分:0)
请检查此链接 http://www.androidhive.info/2012/07/android-detect-internet-connection-status/
Android检测互联网连接状态
的演示要访问互联网,我们需要INTERNET权限
要检测网络状态,我们需要ACCESS_NETWORK_STATE权限
答案 2 :(得分:0)
调用此方法
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
并声明权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
答案 3 :(得分:0)
这里的代码对我来说很好。在您的工具中定义此类。
public class InternetConnection {
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager connectivityManager
= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
}
然后,在要检查连接状态的活动内,使用
if(!(InternetConnection.isNetworkAvailable(this))){
internetActive = false;
Toast.makeText(this, "Please try again with active Internet connection", Toast.LENGTH_LONG).show();
}
else {
// your code if device is connected to internet
}
确保你有
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
你的清单中的权限。
答案 4 :(得分:0)
您将使用以下两种方法检查是否连接了WIFI和移动数据:
public boolean checkWIFIInternetConn() {
//Create object for ConnectivityManager class which returns network related info
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
//If connectivity object is not null
if (connectivity != null) {
//Get network info - WIFI internet access
NetworkInfo info = connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (info != null) {
//Look for whether device is currently connected to WIFI network
if (info.isConnected()) {
return true;
}
}
}
return false;
}
public boolean checkMobileInternetConn() {
//Create object for ConnectivityManager class which returns network related info
ConnectivityManager connectivity = (ConnectivityManager) _context
.getSystemService(Context.CONNECTIVITY_SERVICE);
//If connectivity object is not null
if (connectivity != null) {
//Get network info - Mobile internet access
NetworkInfo info = connectivity.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (info != null) {
//Look for whether device is currently connected to Mobile internet
if (info.isConnected()) {
return true;
}
}
}
return false;
}