相关疑难解决方法(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中的网络连接状态?

我有一个从服务器下载文件的服务.我警告用户只能在下载开始之前通过无线LAN下载文件.

我的问题是如果我松开网络连接,我的下载就会卡住.有没有办法监听网络连接的变化,或者它是否完全丢失?

networking android

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

标签 统计

android ×2

networking ×2

asynchronous ×1