Android11捕获门户检测(离线场景)
创始人
2024-08-20 10:00:16
0

Android 11 引入了一种新的方式来检测门户,即通过检测网络连接状态的变化。在离线场景下,设备无法直接访问门户网站,因此无法判断当前网络是否存在门户。针对这种情况,我们可以采用以下方法来进行处理:

  1. 移动网络和 WiFi 网络的切换

在离线场景下,当设备从移动网络切换到 WiFi 网络时,可能会出现检测不到门户的情况。因此,我们需要在连接 WiFi 之后等待一段时间,以确保门户已经能够访问。

示例代码:

private static final long WIFI_CONNECTION_TIMEOUT_MS = 60_000;

private Handler mHandler; private Runnable mTimeoutRunnable = new Runnable() { @Override public void run() { // handle timeout } };

private void registerNetworkCallback() { ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest.Builder builder = new NetworkRequest.Builder(); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); NetworkRequest request = builder.build(); cm.registerNetworkCallback(request, new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { if (isWifi(network)) { mHandler.postDelayed(mTimeoutRunnable, WIFI_CONNECTION_TIMEOUT_MS); } }

    @Override
    public void onLost(Network network) {
        if (isWifi(network)) {
            mHandler.removeCallbacks(mTimeoutRunnable);
        }
    }
});

}

  1. 读取网络缓存

如果设备此前曾经连接到过门户所在的网络,则可能会保存有网络缓存,可以通过读取缓存来进行检测。

示例代码:

private void detectPortalOffline() { try { HttpURLConnection urlConnection = (HttpURLConnection) new URL(PORTAL_URL).openConnection(); urlConnection.setRequestMethod("HEAD"); urlConnection.setInstanceFollowRedirects(false);

    int responseCode = urlConnection.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
        // portal not detected
    } else if (responseCode == HttpURLConnection.HTTP_MOVED_TEMP) {
        // portal detected
    } else {
        // error
    }
} catch (IOException e) {
    // error
}

}

  1. DNS 解析门户网址

门户网址

相关内容

热门资讯

第5分钟了解“科乐填大坑辅助视... 第5分钟了解“科乐填大坑辅助视频”详细开挂辅助技巧-好像存在有挂1、科乐填大坑辅助视频机器人多个强度...
第3分钟了解“广东雀神挂件去那... 第3分钟了解“广东雀神挂件去那买”详细开挂辅助技巧-其实是真的挂1、每一步都需要思考,不同水平的挑战...
第6分钟了解“河洛杠次辅助”详... 第6分钟了解“河洛杠次辅助”详细开挂辅助软件-其实是真的挂1.河洛杠次辅助 ai辅助创建新账号,点击...
三分钟了解“789大菠萝脚本”... 三分钟了解“789大菠萝脚本”详细开挂辅助软件-其实有挂1)789大菠萝脚本辅助挂:进一步探索789...
五分钟了解“宝宝吃吃吃游戏辅助... 五分钟了解“宝宝吃吃吃游戏辅助”详细开挂辅助技巧-真是是真的挂1、许多玩家不知道宝宝吃吃吃游戏辅助辅...
第七分钟了解“极速猜一猜暗堡辅... 第七分钟了解“极速猜一猜暗堡辅助”详细开挂辅助神器-真是是真的挂1、极速猜一猜暗堡辅助系统规律教程、...
第八分钟了解“微信小程序牵手跑... 第八分钟了解“微信小程序牵手跑得快脚本”详细开挂辅助app-都是真的是有挂1、首先打开微信小程序牵手...
第7分钟了解“hh poker... 第7分钟了解“hh poker有没有辅助软件”详细开挂辅助app-果然是有挂1、hh poker有没...
第四分钟了解“潮汕激k辅助软件... 第四分钟了解“潮汕激k辅助软件”详细开挂辅助插件-总是是真的挂潮汕激k辅助软件软件透明挂微扑克wpk...
第7分钟了解“陕麻圈有辅助吗”... 第7分钟了解“陕麻圈有辅助吗”详细开挂辅助工具-真是真的是有挂1、下载好陕麻圈有辅助吗辅助软件之后点...