【发布时间】:2017-08-10 17:42:07
【问题描述】:
问题: 我有一个带有 Android Wear 2.0 的华为手表。我的应用程序应该通过 WiFi 发送数据,但手表与 Wifi 断开连接的速度非常快。如何让手表保持与 Wifi 的连接?
清单:
<uses-feature android:name="android.hardware.wifi" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
在活动中:
public static void keepWiFiOn(Context context, boolean on) {
if (wifiLock == null) {
WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (wm != null) {
wifiLock = wm.createWifiLock(WifiManager.WIFI_MODE_FULL, TAG);
wifiLock.setReferenceCounted(true);
}
}
if (wifiLock != null) { // May be null if wm is null
if (on) {
wifiLock.acquire();
Log.d(TAG, "Acquired WiFi lock");
} else if (wifiLock.isHeld()) {
wifiLock.release();
Log.d(TAG, "Released WiFi lock");
}
}
}
获取了WiFi锁,但是对方却没有收到发送的数据。
【问题讨论】:
-
是否有任何错误日志可以提示它断开连接的原因?
-
@noogui 不幸的是没有。当我在设置菜单中连接到wifi并连接时,我启动应用程序并退出应用程序返回设置屏幕,然后wifi断开连接
-
找到解决方案了吗?我有同样的问题。当与蓝牙手机配对时,wear os 2.0+ 设备将无法可靠地获取或保持 wifi 连接......并且获得 wifi 锁似乎没有多大帮助
标签: android wifi wear-os communication wifimanager