在我的 flutter 应用程序中,我可以创建一个 pdf 文件,然后我想将其保存在下载文件夹中。我正在尝试使用 path_provider 包来实现这个目标,但我不能。
这是颤振食谱中的示例代码,如果我使用它,我不会收到任何错误,但我也找不到该文件。
final directory = await getApplicationDocumentsDirectory();
File file2 = File("${directory.path}/test.txt");
await file2.writeAsString('TEST ONE');
Run Code Online (Sandbox Code Playgroud)
正确的做法是什么?
我可以设置断点,但是当我在调试模式下运行时,断点的图标会发生以下变化:
我认为问题出在Android Studio中新版本的Flutter插件上,但我不确定。如何解决这个问题?
我尝试过的:
我正在尝试下载文件并将其保存在 Downlaod 目录中,但每次都会出现此错误:
I/flutter (21400): FileSystemException: Cannot create file, path = '/storage/emulated/0/Download/contratto.jpg' (OS Error: File exists, errno = 17)
Run Code Online (Sandbox Code Playgroud)
但如果我在存储中搜索这个文件,我找不到它,我不明白。
在清单中我拥有所有权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)
我正在使用 ext_storage 包来查找路径,但即使使用 path_provider 我也遇到了相同的错误。这是我的代码:
static Future download(String url, String fileName, String extension) async {
_checkPermission();
String _localPath = await ExtStorage.getExternalStoragePublicDirectory(
ExtStorage.DIRECTORY_DOWNLOADS);
Dio dio = Dio();
await dio.download(
url,
_localPath + "/" + fileName + "." + extension,
);
}
Run Code Online (Sandbox Code Playgroud)
我使用的是颤振2.0.6。有任何想法吗?
编辑:下载仅在我第一次保存具有特定名称的文件时有效,如果我删除它并尝试再次下载它,我会收到此错误。我也尝试过重新安装该应用程序,但仍然出现错误
我正在使用最新版本的 Crashlytics,但我看不到未捕获的错误。
这是我的主要
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
runApp(BaseApp());
}
Run Code Online (Sandbox Code Playgroud)
我正在按照文档中的描述进行所有操作: https://firebase.flutter.dev/docs/crashlytics/usage#handling-uncaught-errors
我缺少什么?强制碰撞测试表现完美。
这些是依赖项:
pubspec.yaml
firebase_analytics: ^8.3.2
firebase_crashlytics: ^2.2.1
Run Code Online (Sandbox Code Playgroud)
在我的应用程序级 build.gradle 中我有这个
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
Run Code Online (Sandbox Code Playgroud)
这在依赖关系中
implementation platform('com.google.firebase:firebase-bom:26.5.0')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics:18.2.1'
Run Code Online (Sandbox Code Playgroud)
在我的 Android 级别的 build.gradle 中,在依赖项中:
classpath 'com.google.gms:google-services:4.3.5'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
Run Code Online (Sandbox Code Playgroud)
[编辑]在你问之前,我已经重新启动了应用程序几次,并且过滤器处于“非致命”状态