我需要告诉我的设备是否有Internet连接.我找到了许多答案,如:
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
Run Code Online (Sandbox Code Playgroud)
(摘自检测Android上是否有可用的Internet连接.)
但这是不对的,例如,如果我连接到无法访问Internet的无线网络,此方法将返回true ... 是否有方法可以判断设备是否具有Internet连接,而不是仅仅连接什么?
我正在为Android 2.2开发一个Ping应用程序.
我尝试我的代码,它的工作原理,但只在本地IP,这是我的问题,我想ping外部服务器.
这是我的代码:
private OnClickListener milistener = new OnClickListener() {
public void onClick(View v) {
TextView info = (TextView) findViewById(R.id.info);
EditText edit = (EditText) findViewById(R.id.edit);
Editable host = edit.getText();
InetAddress in;
in = null;
// Definimos la ip de la cual haremos el ping
try {
in = InetAddress.getByName(host.toString());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Definimos un tiempo en el cual ha de responder
try {
if (in.isReachable(5000)) {
info.setText("Responde OK");
} …Run Code Online (Sandbox Code Playgroud) 我注意到Marshmallow(例如Nexus 6P)以及一些最近更新的Lollipop手机(例如Galaxy S5),当我连接到没有互联网的wifi网络时,网络将无法完全连接,直到用户接受提示说明网络没有互联网接入.
有没有办法以编程方式绕过此检查并允许无线连接继续进行无线连接?
在以下事件中广播的意图是什么,