Что такое вызов API, который мне нужно сделать в Android 2.2 (Froyo), чтобы создать точку доступа Wi-Fi (как показано в пункте настроек Tethering and Portable Hotspot).Android 2.2 wifi hotspot API
ответ
Вы можете позвонить
private boolean setWifiApEnabled(WifiConfiguration wifiConfig, boolean enabled);
с помощью отражения :)
после получения WifiManager
использовать отражение, чтобы получить WifiManager
объявленные методы, искать это имя метода setWifiApEnabled
и вызвать его через WifiManager
объект
Эти API отмечены как @hide, поэтому в настоящее время вы не можете использовать их напрямую, но они выглядят o n AIDL для WifiManager, чтобы они были доступны!
Примером может быть:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
Method[] wmMethods = wifi.getClass().getDeclaredMethods();
for(Method method: wmMethods){
if(method.getName().equals("setWifiApEnabled")){
WifiConfiguration netConfig = new WifiConfiguration();
netConfig.SSID = "\"PROVAAP\"";
netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
try {
method.invoke(wifi, netConfig,true);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
Это работает, но я не могу изменить текущую конфигурацию с моим собственным, и получить текущий WifiConfiguration активного AP подвезти меня к пустому configuration.Why?
хорошее исследование – Schildmeijer
Вы всегда можете получить к ним доступ через отражение! –
@ markov00: Ваш предложенный подход не является частью Android SDK. Не используйте его, период. – CommonsWare
Существует не API-вызов для создания точки доступа WiFi - извините!
это работает с API 8 и выше. Я использую сильно отличающуюся версию, затем это ниже (или выше), и столкнулся с той же проблемой, с которой столкнулся markov00; не имея возможности загружать WifiConfiguration по умолчанию для портативного Wi-Fi AP. Я нашел решение в другом месте.
Если вам нравится решение, было бы хорошо, если бы это было принято в ответ
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
Method[] wmMethods = wifi.getClass().getDeclaredMethods();
for (Method method: wmMethods){
if (method.getName().equals("setWifiApEnabled")){
try {
// just nullify WifiConfiguration to load the default configuration ;)
method.invoke(wifi, null, true);
} catch (IllegalArgumentException e){
e.printStackTrace();
} catch (IllegalAccessException e){
e.printStackTrace();
} catch (InvocationTargetException e){
e.printStackTrace();
}
}
}
Итак, после аннулирования текущего, он принимает ваш WifiConfig? – bk138
нет, но он просто использует значение по умолчанию, уже установленное значение – slinden77
@dmmh, верно ли это путем добавления метода method.invoke (wifi, null, true); он включен. и поэтому я просто изменяю логические значения на «false», чтобы отключить его? Что делать, чтобы проверить текущее состояние, включено ли оно? – gumuruh
- 1. Android Lollipop - WiFi Hotspot setWifiApEnabled() получить InvocationTargetException
- 2. Wifi Hotspot Multicast/Broadcast
- 3. API сопутствующих подключений и WiFi Hotspot
- 4. Создать конфигурацию Wifi Hotspot в android
- 5. HotSpot (точка доступа WiFi) в android
- 6. Найти ip-адрес wifi hotspot в android
- 7. Android - WiFi API для Android 2.2 или 2,3
- 8. Программно заданный пароль wifi hotspot
- 9. Расположение в здании с использованием wifi hotspot
- 10. Windows 7 wifi hotspot не работает
- 11. Получите IP-адрес от wifi hotspot в android
- 12. Сетевой мост Android между USB-модемом и WiFi-интерфейсом hotspot
- 13. Соедините wifi hotspot телефонную ошибку: ENETUNREACH
- 14. Предоставьте доступ к AppStore в WiFi HotSpot
- 15. Как узнать, подключены ли вы к Wifi Hotspot/Wifi/Wifi Direct
- 16. Wifi Hotspot в android может общаться с ПК без wifi-маршрутизатора
- 17. Android подключается к wifi hotspot медленно, уже подключаясь к другому wifi
- 18. Установить канал Android HotSpot
- 19. Mikrotik Hotspot PHP API
- 20. Сервер и клиент на устройстве с поддержкой WiFi-hotspot
- 21. Multicast на Android 2.2
- 22. Google maps Android API получает wifi-адрес
- 23. android wifi api issue with 3.1
- 24. Выполнить пакетный файл для запуска wifi hotspot как admin
- 25. Предоставьте доступ к Play Маркету в WiFi HotSpot
- 26. Я не могу остановить wifi hotspot в программировании на андроид
- 27. ZTE Open with Firefox OS as WiFi hotspot
- 28. Как использовать .VBS для создания WiFi HotSpot «General Spcific»
- 29. GOOGlE API V2 проблема в Android 2.2
- 30. Использование Retrofit API с Android 2.2
Я до сих пор не могу поверить, что нет API для активации/деактивации привязывать. Надеюсь, что он существует, но пока еще не задокументирован. – Sney
Документировано: http://www.androidjavadoc.com/2.3/android/net/wifi/WifiManager.html Просто не являетесь частью официального API. –