我在文档中找不到如何将设备配置为便携式热点的方法。
我已经读过How to detect if a network is (configured as) a mobile hotspot on Android?,但不知道该功能是否已实现?
答案 0 :(得分:2)
您可以使用以下代码检查设备上是否启用了网络共享:
private static Method isWifiApEnabledMethod;
public static boolean isWifiApEnabled(WifiManager wifiManager) {
if (isWifiApEnabledMethod == null) {
try {
isWifiApEnabledMethod = wifiManager.getClass().getDeclaredMethod("isWifiApEnabled");
isWifiApEnabledMethod.setAccessible(true); //in the case of visibility change in future APIs
} catch (NoSuchMethodException e) {
Log.w(TAG, "Can't get method by reflection", e);
}
}
if (isWifiApEnabledMethod != null) {
try {
return (Boolean) isWifiApEnabledMethod.invoke(wifiManager);
} catch (IllegalAccessException e) {
Log.e(TAG, "Can't invoke method by reflection", e);
} catch (InvocationTargetException e) {
Log.e(TAG, "Can't invoke method by reflection", e);
}
}
return false;
}
请不要忘记在AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
对于上面提到的SO link:
该功能不可用,即尚未实现。 有关更多信息,请检查this链接,其中Google正式将状态标记为状态:无法修复(已淘汰)
希望这会对您有所帮助。谢谢!