Я создаю приложение Flutter для подключения к динамику IOT (с Wi-Fi). Мне нужно подключиться к нему и загрузить аудиофайлы с помощью API GET/POST. Если я подключу свой телефон к Wi-Fi динамика, используя опцию Wi-Fi, уже присутствующую в телефоне Android, я смогу загрузить файл через запрос POST. Если я подключусь к динамику Wi-Fi через приложение Flutter с использованием пакета wiflutter, я не смогу выполнить запрос POST.
package:wiflutter/wiflutter.dart'; -- Он подключается к Wi-Fi, но не позволяет мне выполнять запросы GET/POST.
Я также пробовал много других пакетов. Они давно не обновлялись.
Ниже приведены пакеты, которые я пробовал:
'package:wifi_scan/wifi_scan.dart'; -- сканирует только Wi-Fi
package:wifi/wifi.dart'; -- похоже, это устаревший пакет
'package:wifi_connector/wifi_connector.dart'; -- Я получаю сообщение об ошибке, что пакет использует устаревшую версию плагина Kotlin. Кажется, это невозможно обойти.
Код для подключения к Wi-Fi:
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:nspeak/RecordingPage.dart';
import 'package:wifi_scan/wifi_scan.dart';
import 'package:wiflutter/wiflutter.dart';
import 'package:wiflutter/enums/enterprise_certificate_enum.dart';
// import 'package:wifi_iot/wifi_iot.dart'; -- doesnt support Null safety, so cant use it.
// import 'package:wifi_connector/wifi_connector.dart'; --it uses older Kotlin plugin version. So cant use it.
// import 'package:wifi_configuration/wifi_configuration.dart'; -- doesnt support Null safety, so cant use it.
// import 'package:wifi/wifi.dart'; -- doesnt support Null safety, so cant use it.
scanNspeakwifi() async{
resultcanstarscan = await WiFiScan.instance.canStartScan();
// print("passed canstartscan : $resultcanstarscan");
if(resultcanstarscan == CanStartScan.yes){
scansuccess = await WiFiScan.instance.startScan();
// print("scan success: $scansuccess");
if (mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25,),
duration: Durations.extralong4,
backgroundColor: Colors.yellow,
content: Center(child:Text('Scanning in progress', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold, color: Colors.black),),
)),
);
}
}
else {
if(mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25,left: 30, right: 30),
duration: Durations.extralong4,
backgroundColor: Colors.red,
content: Center( child: Text('Cannot start scan. Check if all necessary permissions are given!', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold),),
),
)
);
}
}
cangetresults = await WiFiScan.instance.canGetScannedResults();
// print("Passed cangetresults $cangetresults");
if(cangetresults == CanGetScannedResults.yes ){
scanresults = await WiFiScan.instance.getScannedResults();
if(mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25, left: 20, right: 20),
duration: Durations.extralong4,
backgroundColor: Colors.green,
content: Center(child: Text('Scan completed! Click on "Get Results" to view nearby Nspeak device', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold),)),
),
);
}
}
else {
if(mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25,left: 20, right: 20),
duration: Durations.extralong4,
backgroundColor: Colors.red,
content: Center(child: Text('No scan result available. Check if all necessary permissions are given!', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold),)),
),
);
}
}
}
getNspeakwifi() async {
var resultsavail = await WiFiScan.instance.onScannedResultsAvailable;
var checkresult = await resultsavail.isEmpty;
if (!checkresult){
setState(() {
wifiNetworks = scanresults;
_shownetworks = true;
});
}
else{
if(mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25, left: 20, right: 20),
duration: Durations.extralong4,
backgroundColor: Colors.red,
content: Center(child: Text('No Nspeak devices nearby! ', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold),)),
),
);
}
}
}
Widget displayNspeak(){
var value;
nspeakdevices = []; /*Initialzied the variable here again because everytime "Get results" is clicked, it should return a new list. It should not go on adding the Wifi ACcess points to the same list*/
for (int i=0; i
Подробнее здесь: https://stackoverflow.com/questions/783 ... -flutter-a
Невозможно отправлять запросы GET/POST после подключения к Wi-Fi через мое приложение Flutter. ⇐ Android
Форум для тех, кто программирует под Android
1714492580
Anonymous
Я создаю приложение Flutter для подключения к динамику IOT (с Wi-Fi). Мне нужно подключиться к нему и загрузить аудиофайлы с помощью API GET/POST. Если я подключу свой телефон к Wi-Fi динамика, используя опцию Wi-Fi, уже присутствующую в телефоне Android, я смогу загрузить файл через запрос POST. Если я подключусь к динамику Wi-Fi через приложение Flutter с использованием пакета wiflutter, я не смогу выполнить запрос POST.
package:wiflutter/wiflutter.dart'; -- Он подключается к Wi-Fi, но не позволяет мне выполнять запросы GET/POST.
Я также пробовал много других пакетов. Они давно не обновлялись.
Ниже приведены пакеты, которые я пробовал:
'package:wifi_scan/wifi_scan.dart'; -- сканирует только Wi-Fi
package:wifi/wifi.dart'; -- похоже, это устаревший пакет
'package:wifi_connector/wifi_connector.dart'; -- Я получаю сообщение об ошибке, что пакет использует устаревшую версию плагина Kotlin. Кажется, это невозможно обойти.
Код для подключения к Wi-Fi:
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:nspeak/RecordingPage.dart';
import 'package:wifi_scan/wifi_scan.dart';
import 'package:wiflutter/wiflutter.dart';
import 'package:wiflutter/enums/enterprise_certificate_enum.dart';
// import 'package:wifi_iot/wifi_iot.dart'; -- doesnt support Null safety, so cant use it.
// import 'package:wifi_connector/wifi_connector.dart'; --it uses older Kotlin plugin version. So cant use it.
// import 'package:wifi_configuration/wifi_configuration.dart'; -- doesnt support Null safety, so cant use it.
// import 'package:wifi/wifi.dart'; -- doesnt support Null safety, so cant use it.
scanNspeakwifi() async{
resultcanstarscan = await WiFiScan.instance.canStartScan();
// print("passed canstartscan : $resultcanstarscan");
if(resultcanstarscan == CanStartScan.yes){
scansuccess = await WiFiScan.instance.startScan();
// print("scan success: $scansuccess");
if (mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25,),
duration: Durations.extralong4,
backgroundColor: Colors.yellow,
content: Center(child:Text('Scanning in progress', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold, color: Colors.black),),
)),
);
}
}
else {
if(mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25,left: 30, right: 30),
duration: Durations.extralong4,
backgroundColor: Colors.red,
content: Center( child: Text('Cannot start scan. Check if all necessary permissions are given!', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold),),
),
)
);
}
}
cangetresults = await WiFiScan.instance.canGetScannedResults();
// print("Passed cangetresults $cangetresults");
if(cangetresults == CanGetScannedResults.yes ){
scanresults = await WiFiScan.instance.getScannedResults();
if(mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25, left: 20, right: 20),
duration: Durations.extralong4,
backgroundColor: Colors.green,
content: Center(child: Text('Scan completed! Click on "Get Results" to view nearby Nspeak device', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold),)),
),
);
}
}
else {
if(mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25,left: 20, right: 20),
duration: Durations.extralong4,
backgroundColor: Colors.red,
content: Center(child: Text('No scan result available. Check if all necessary permissions are given!', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold),)),
),
);
}
}
}
getNspeakwifi() async {
var resultsavail = await WiFiScan.instance.onScannedResultsAvailable;
var checkresult = await resultsavail.isEmpty;
if (!checkresult){
setState(() {
wifiNetworks = scanresults;
_shownetworks = true;
});
}
else{
if(mounted){
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
padding: EdgeInsets.only(bottom: 25, left: 20, right: 20),
duration: Durations.extralong4,
backgroundColor: Colors.red,
content: Center(child: Text('No Nspeak devices nearby! ', style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold),)),
),
);
}
}
}
Widget displayNspeak(){
var value;
nspeakdevices = []; /*Initialzied the variable here again because everytime "Get results" is clicked, it should return a new list. It should not go on adding the Wifi ACcess points to the same list*/
for (int i=0; i
Подробнее здесь: [url]https://stackoverflow.com/questions/78397473/not-able-to-send-get-post-requests-after-connecting-to-wifi-through-my-flutter-a[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия