[英]How to show internet not connected in android
我需要帮助。 我希望举杯以显示我的应用程序中的Internet状态。 它适用于wifi和移动数据包(Mobile Internet)。 但是,当Internet完全断开连接时,它什么也没显示。 我不知道该怎么做。 这是我的代码
public class ConnectivityReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("myapp", "action: " + intent.getAction());
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
if(isConnected)
{
if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
{
Toast toast = Toast.makeText(context, "Connected to wifi", Toast.LENGTH_LONG);
toast.show();
}
else if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
{
Toast toast = Toast.makeText(context, "Connected to Mobile Data Pakage", Toast.LENGTH_LONG);
toast.show();
}
else
{
Toast toast = Toast.makeText(context, "Not Connected", Toast.LENGTH_LONG);
toast.show();
}
也可以尝试这样做,但是编译器显示错误。 请帮助我。 提前致谢。
else if(activeNetwork.getType() == ConnectivityManager.EXTRA_NO_CONNECTIVITY)
{
Toast toast = Toast.makeText(context, "Not Connected", Toast.LENGTH_LONG);
toast.show();
宣言
<receiver android:name="com.networkstatechange.ConnectivityReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
公共类ConnectionDetector {
private Context _context;
public ConnectionDetector(Context context){
this._context = context;
}
public boolean isConnectingToInternet(){
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null)
{
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
return false;
}
}
创建这个课程
并在接收器上使用isconnecting to internet方法接收它应该可以正常工作
愉快地编码:)
使用正确的缩进,您将看到仅if (isConnected)
输入块时才显示“未连接”吐司。 用这种方式重写:
if(isConnected)
{
if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
{
Toast toast = Toast.makeText(context, "Connected to wifi", Toast.LENGTH_LONG);
toast.show();
}
else if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
{
Toast toast = Toast.makeText(context, "Connected to Mobile Data Pakage", Toast.LENGTH_LONG);
toast.show();
}
}
else
{
Toast toast = Toast.makeText(context, "Not Connected", Toast.LENGTH_LONG);
toast.show();
}
}
尝试这个
public static boolean checkConn(Context ctx) {
ConnectivityManager conMgr = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo i = conMgr.getActiveNetworkInfo();
if (i == null)
return false;
if (!i.isConnected())
return false;
if (!i.isAvailable())
return false;
return true;
}
也使用..
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.