相关疑难解决方法(0)

如何检查Android上的互联网访问?InetAddress永远不会超时

我有一个AsyncTask应该检查网络访问主机名.但是doInBackground()永远不会超时.有人有线索吗?

public class HostAvailabilityTask extends AsyncTask<String, Void, Boolean> {

    private Main main;

    public HostAvailabilityTask(Main main) {
        this.main = main;
    }

    protected Boolean doInBackground(String... params) {
        Main.Log("doInBackground() isHostAvailable():"+params[0]);

        try {
            return InetAddress.getByName(params[0]).isReachable(30); 
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;       
    }

    protected void onPostExecute(Boolean... result) {
        Main.Log("onPostExecute()");

        if(result[0] == false) {
            main.setContentView(R.layout.splash);
            return;
        }

        main.continueAfterHostCheck();
    }   
}
Run Code Online (Sandbox Code Playgroud)

networking android asynchronous

637
推荐指数
27
解决办法
45万
查看次数

如何在android上icmp ping

我需要从我的android设备对主机进行icmp ping.我需要测量往返时间.我精通android和java,只是不知道要使用什么库.我该怎么做?是否有可能通过3G,Edge?

android icmp

15
推荐指数
2
解决办法
3万
查看次数

Android - 如何检查互联网访问,而不仅仅是连接到wifi?

我尝试了下面的代码来检查我的手机是否连接到无线网络,当我想知道我的手机是否连接到网络时它运行良好,但它无法提供有关互联网访问的信息...类似于" Ping"任何网站.实际上我遵循了许多链接,但仍然没有答案,所以如果有人能提供帮助,我会非常感激.

提前致谢.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Toast t = new Toast(getApplicationContext());

    if (isInternetOn()) {
         // INTERNET IS AVAILABLE, DO STUFF..
         Toast.makeText(ConnectivityTestActivity.this,"Network is Available", Toast.LENGTH_LONG).show();

         }
    else {
         // NO INTERNET AVAILABLE, DO STUFF..
        Toast.makeText(ConnectivityTestActivity.this,"No Network Available", Toast.LENGTH_LONG).show();

        }
}

public final boolean isInternetOn() {


    ConnectivityManager connec =  (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    // ARE WE CONNECTED TO THE NET
    if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
    connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING ||
    connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ||
    connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED ) {
    // …
Run Code Online (Sandbox Code Playgroud)

connection android

13
推荐指数
2
解决办法
2万
查看次数

在Android中Ping应用程序

我正在创建一个应用程序,它将实现"ping"命令的一些功能.问题是,我不知道在ANDROID中使用哪些库/库.有人有任何想法吗?

我访问了这些stackoverflow链接,但他们没有太大的帮助.

android ping

11
推荐指数
2
解决办法
2万
查看次数

InetAddress.getByName(host).isReachable(timeout)的最佳替代方案

我正在尝试访问主机并拥有以下代码

if(!InetAddress.getByName(host).isReachable(TIMEOUT)){
   throw new Exception("Host does not exist::"+ hostname);
 }
Run Code Online (Sandbox Code Playgroud)

我可以从Windows ping主机名,并在其上执行tracert并返回所有数据包.但java抛出异常"Host is not exists ::";

从实现2000ms到5000ms的超时值.我也试过3000.我无法理解这个问题的原因是什么.我在网上研究过,有人说InetAddress.getByName(host).isReachable(time)不可靠,并且根据内部系统行事.

如果这是真的,最好的选择是什么.请建议.

java host ping

8
推荐指数
1
解决办法
2万
查看次数

如何从Android活动ping网站并获得响应?

我使用isReachable,但它不起作用,我使用了ConnectivityManager和getNetworkInfo; 实际上这只是为了检查我是否连接到互联网...

但问题是我想检查我是否可以访问互联网,所以我想ping网站以检查是否有回复.

connection android ping

3
推荐指数
1
解决办法
1万
查看次数

java - 如何测量wifi网络中的延迟

我正在开发一个移动应用程序,我需要一些参数来实现算法,但我不知道如何测量 wifi 网络中的延迟。有人说使用ping,但我不知道如何实现。

这是我的第一个问题,我正在学习。谢谢你。

java android latency wifi android-wifi

0
推荐指数
1
解决办法
5306
查看次数