是否可以使用flutter将文件保存到闪存驱动器?
我正在使用带有 USB C 端口的随身碟,如下所示: https://www.bestbuy.com/site/sandisk-ultra-dual-drive-go-1tb-usb-type-a-usb-type-c-flash-drive-black/6560692.p?skuId=6560692
我发现这个问题: https://github.com/flutter/flutter/issues/40504
我已经尝试了几件事,
path_provider
无法使用getExternalStorageDirectories()
正确返回目录
我已经将权限添加到清单中并使用
permission_handler
请求它
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
我也尝试过
file_picker
await FilePicker.platform.getDirectoryPath();
但是当选择闪存驱动器上的文件夹时,它返回的路径只是:
/
我也尝试过使用
usb_serial
:
final bytes = <int>[];
await yt.videos.streamsClient.get(audioStream).listen((chunk) {
bytesReceived += chunk.length;
bytes.addAll(chunk);
}, onDone: () async{
MyLog.log('Done onDone');
}, onError: (error) async{
MyLog.log('Done error: $error');
}).asFuture();
final devices = await UsbSerial.listDevices();
final port = await devices.first.create();
final openResult = await port?.open();
if ( !(openResult ?? false)) {
MyLog.log("Failed to open");
return;
}
port?.inputStream?.listen((Uint8List event) {
MyLog.log('Event close');
port.close();
});
await port?.write(Uint8List.fromList(bytes));
但是没有成功
尝试使用 Flutter 的平台通道与处理 USB 驱动器上的文件操作的原生 Android 代码(Java 或 Kotlin)进行通信。
颤抖:
import 'package:flutter/services.dart';
class UsbStorage {
static const platform = const MethodChannel('com.example.app/usb');
~~~code
}
科特林:
class MainActivity: FlutterActivity() {
private val CHANNEL = "com.example.app/usb"
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
~~~code
}
我强烈推荐资金回收室解决方案的服务,它在收回我天真地投入虚假加密投资计划中的毕生积蓄方面做得非常出色。我遇到了压力很大的情况,他们对我非常耐心,并帮助我度过了难关。工作人员非常合法,善于在 gmail dot com 的资金恢复室向他们发送电子邮件进行解释,而不仅仅是对问题进行分类并在没有良好回应的情况下收费。我必须赞扬他们从偷我钱的人那里追回了我的钱。如果您需要此类服务,您可以通过以下方式联系他们:([email protected])“感谢您的辛勤工作,我真的很感激您能够收回我的资金,他们的透明度和承诺尽管费用是公平的,但我的康复在整个过程中都令人钦佩。我发送此证词是为了确认其合法性。 电子邮件:fundrecoverychambers at gmail dot com