通过运行此代码,我在 Android 和 iO 上得到了 2 个不同的结果。对于 Android 来说,一切都按预期工作,但对于 iO 来说,它会被忽略。我没有收到任何错误或类似的错误。
class MyMaterialApp extends StatefulWidget {
const MyMaterialApp({Key key}) : super(key: key);
@override
_MyMaterialAppState createState() => _MyMaterialAppState();
}
class _MyMaterialAppState extends State<MyMaterialApp> {
@override
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
statusBarColor: Colors.blue,
statusBarIconBrightness: Brightness.dark,
systemNavigationBarColor: Colors.blue,
systemNavigationBarIconBrightness: Brightness.dark,
));
return MaterialApp()
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会发生这种情况?谢谢!
我的目标是从 API 服务器下载文件(在本例中为 pdf 文件),然后我想加载该 pdf 并将其显示在 UI 上。我正在使用flutter_pdfview并且我正在遵循本教程如何实现它。首先,权限:在我的android/app/build.gradle targetSdkVersion是 29 以及compileSdkVersion. 在android/app/main/AndroidManifest.xml我下面写的<application ... android:requestLegacyExternalStorage="true"> ,我在同一个文件夹中添加了这些权限。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)
获取请求:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)
使用选项 1,我在内部存储中找到了 pdf 文件,但它仍然给我一个错误。像那个人那样使用选项 2,我在设备上的任何地方都找不到它。此外,我已在手机中手动授予存储访问权限,但这也无济于事。
Future<File> getFile(String id) async {
_isLoading = true;
notifyListeners();
var headers = {
'Authorization': 'JWT ${_authenticatedUser.token}',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
};
try {
final http.Response response = await http.get(
'api-host/pdf',
headers: headers);
var bytes = …Run Code Online (Sandbox Code Playgroud)