[英]How to check My test android device is connected to internet or not?
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();
}
}
我已經編寫了這段代碼,但是出現了類似“不幸的是您的程序已停止”之類的錯誤。.請幫助我..提前謝謝
您需要將此添加到您的androidmanifest.xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
請檢查此鏈接http://www.androidhive.info/2012/07/android-detect-internet-connection-status/
Android的演示檢測互聯網連接狀態
要訪問互聯網,我們需要INTERNET許可
要檢測網絡狀態,我們需要ACCESS_NETWORK_STATE權限
調用此方法
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" />
這是適合我的代碼。 在您的utils中定義此類。
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" />
您清單中的權限。
您將使用以下兩種方法檢查是否已連接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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.