android 在环境模式下,Wear OS表盘如何从互联网检索数据?

vltsax25  于 2023-03-27  发布在  Android
关注(0)|答案(1)|浏览(130)

我正在开发一款表盘,它可以从互联网上检索一些数据,并每3分钟更新一次指示器。但看起来,当手表(Galaxy Watch4)处于环境模式时,互联网连接暂停,指示器无法再更新,直到用户点击屏幕,手表切换回全开状态。
然而,当我关闭手表上的WiFi连接时,数据仍然通过与手机的蓝牙连接检索。数据检索工作正常即使在环境模式下。为什么会这样?
据我所知,WiFi连接比蓝牙更耗电,所以可能是系统暂停了WiFi连接。但为什么不默认蓝牙?有没有办法强制网络连接始终使用蓝牙,而不管手表上的WiFi状态如何?

ccrfmcuu

ccrfmcuu1#

在Wear OS中,WiFi将自动关闭。如果您希望保持WiFi打开,则应发出NetworkRequest以打开WiFi。

ConnectivityManager.NetworkCallback callback = new ConnectivityManager.NetworkCallback() {
    public void onAvailable(Network network) {
        super.onAvailable(network);
        // The Wi-Fi network has been acquired. Bind it to use this network by default.
        connectivityManager.bindProcessToNetwork(network);
    }

    public void onLost(Network network) {
        super.onLost(network);
        // Called when a network disconnects or otherwise no longer satisfies this request or callback.
    }
};
connectivityManager.requestNetwork(
        new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build(),
        callback
);

相关问题