找到了一个可以检查互联网连接的代码here
但是我不知道如何实现或调用这个类或方法,因为我仍在使用android studio学习android编程。
请参阅下面的代码,并告诉我如何安排它以便在应用程序启动时启动它,包括说明它已连接的toast消息。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Your Resource Dictionary Name"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
答案 0 :(得分:3)
首先将此权限添加到您的清单中:
<uses-permission android:name="android.permission.INTERNET" />
然后在您的主Activity中创建连接管理器:
private boolean connected(){
ConnectivityManager connectivityManager=(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo !=null && activeNetworkInfo.isConnected();
}
在onCreate(主要活动oncreate)中检查用户是否已连接。对于UI消息,您始终可以添加自己的自定义快餐栏或对话框。
if(connected()){
Log.i("TRUE","User is connected");
}else{
Log.i("TRUE","User is not connected");
}
答案 1 :(得分:2)
首先,在尝试确定是否存在可用的互联网连接时,调用网页并等待其响应并不是一个好的选择。
有内置辅助方法来检查连接,例如:
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
此外,如果您想要检查应用程序启动时的连接性,最好的选择是创建一个从android.app.Application
扩展的新类,并覆盖onCreate
方法,如下所示:
public class YourApplication extends android.app.Application {
@Override
public void onCreate() {
super.onCreate();
if (isNetworkAvailable()) {
//Connected to the Internet
} else {
//Not connected
}
}
}
完整代码如下所示:
public class YourApplication extends android.app.Application {
@Override
public void onCreate() {
super.onCreate();
if (isNetworkAvailable()) {
//Connected to the Internet
} else {
//Not connected
}
}
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
}
最后,在你的AndroidManifest.xml上设置名称为android:name =“。YourApplication”
<application
android:name=".YourApplication"
... >
</application>
答案 2 :(得分:0)
在hasActiveInternetConnection(getApplicationContext());
方法中调用onCreate
。