[英]Detect if my device has internet
我希望我的應用程序能夠檢測我的設備是否有互聯網連接。 我寫了這段代碼,但它不起作用。 這是代碼:
package mi.internet;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.widget.Toast;
public class navegando extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
comprobar();
}
private void comprobar() {
Context context = null;
// TODO Auto-generated method stub
if(navegando.isOnline(context)== false) {
new AlertDialog.Builder(this).setTitle("Advertencia").setMessage("No hay internet").setNeutralButton("Close", null).show();
finish();
}
}
public static boolean isOnline(Context ctx) {
ConnectivityManager connectivity = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null)
{
NetworkInfo[] network_info = connectivity.getAllNetworkInfo();
if (network_info != null)
for (int i = 0; i < network_info.length; i++)
if (network_info[i].getState() == NetworkInfo.State.CONNECTED)
return true;
}
return false;
}
}
謝謝!
謝謝你的所有答案。 我是新手,我不知道如何使用此代碼。 當我的應用程序啟動時,我希望如果沒有互聯網連接,屏幕上會顯示一條消息,表示沒有互聯網連接並完成活動。
坦克你了!
請嘗試下面的代碼。 它檢查設備中是否存在Internet連接。
public boolean CheckInternet()
{
ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
android.net.NetworkInfo wifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile = connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
// Here if condition check for wifi and mobile network is available or not.
// If anyone of them is available or connected then it will return true, otherwise false;
if (wifi.isConnected() || mobile.isConnected()) {
return true;
}
return false;
}
請在android清單文件中添加以下權限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
private boolean isNetworkAvailable()
{
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
首先給予許可
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
然后在你的活動中
private boolean isNetworkAvailable() {
ConnectivityManager cm
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni= cm.getActiveNetworkInfo();
return ni != null;
}
希望這對你有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.