gpt4 book ai didi

android - 如何在 Android 上检查我的互联网访问?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:02 25 4
gpt4 key购买 nike

我真正想要的是,当用户没有连接时,我想显示一些他或她没有连接的对话框。

我试图将它放在我的 MainActivity 上,但仍然没有用。

public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo().isConnectedOrConnecting();

}

我也用过这个,但它也不起作用:

public class ConnectionChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive( Context context, Intent intent )
{
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE );
if ( activeNetInfo != null )
{
Toast.makeText( context, "Active Network Type : " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
if( mobNetInfo != null )
{
Toast.makeText( context, "Mobile Network Type : " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
}
}

我在 list 中添加了这个:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

谁能告诉我我做错了什么,我将不胜感激。提前致谢!

最佳答案

也许此链接可以为您提供更多帮助:Broadcastreceiver to obtain ServiceState information

您可以在您的 Activity 中通过 mentined CommunicationManager 代码,或者更好的是,如果您需要从更多 Activity 进行访问,您还可以在 Application Singletin 实例中将该类声明为静态类并从那里调用它,如所述 here

您还需要在应用程序 list 中注册 BroadcastReceiver:

<receiver android:enabled="true" android:name="com.project.mobile.controller.comm.ConnectivityReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>

享受

关于android - 如何在 Android 上检查我的互联网访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5459290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com