sách gpt4 ăn đã đi

Wi-Fi无法上网时Android Lollipop默认使用Mobile Data?

In lại 作者:IT王子 更新时间:2023-10-28 23:36:05 28 4
mua khóa gpt4 giày nike

当您连接的 Wi-Fi 无法访问 Internet 时,

Android Lollipop 似乎默认为移动数据。有人知道这是否在某处有正式记录吗?

我们有一个应用程序需要通过 Wi-Fi 连接到没有互联网的机器。我们的客户现在报告 Wi-Fi 连接不再工作,因为手机会自动切换到 LTE

我的理解是,手机仍然保持 Wi-Fi 连接,但使用 LTE 除了提供对 Internet 的访问 (lollipop-feature-spotlight-android-now-defaults-to-mobile-data-when-wi-fi-has-no-internet-access-signal-icon-adds-a-for-no-connection )。

我对这个功能的理解有错吗?如果是这样,有没有办法在没有互联网的情况下强制使用Wi-Fi?我在开发人员文档中找不到任何关于此的内容。

非常感谢任何帮助。

câu trả lời hay nhất

为了扩展@ianhanniballake 的回答,我发现使用 ConnectivityManager.setProcessDefaultNetwork() 绑定(bind)网络防止漫游并允许完全 TCP 访问。因此,在 onAvailable()回调,您可以将应用程序进程绑定(bind)到该网络,而不是打开到特定 URL 的连接。

ConnectivityManager connection_manager = 
(ConnectivityManager) activity.getApplication().getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkRequest.Builder request = new NetworkRequest.Builder();
request.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);

connection_manager.registerNetworkCallback(request.build(), new NetworkCallback() {

@Ghi đè
public void onAvailable(Network network) {
ConnectivityManager.setProcessDefaultNetwork(network);
}
}

从 API 级别 23 开始:请使用以下 OnAvailable 方法:

@Ghi đè
public void onAvailable(Network network) {
connection_manager.bindProcessToNetwork(network);
}

关于Wi-Fi无法上网时Android Lollipop默认使用Mobile Data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27164298/

28 4 0
IT王子
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress