使用Flutter Image时遇到问题。我可以从我的设备渲染图像/图像,但不能从互联网渲染图像/图像! 想要提一下,我还将代码也添加到androidManifest文件中以获取互联网许可。
但是不管什么都不起作用。这是我来自flutter文档的代码。
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
var title = 'Web Images';
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: Image.network(
'https://picsum.photos/250?image=9',
),
),
);
}
}
我不明白是什么问题!它不会显示错误或引发异常。屏幕上仅显示图像。
从互联网或使用url渲染图像是否需要做些什么?
谢谢
答案 0 :(得分:1)
我已经测试了您的代码,并且似乎可以在android模拟器和iOS模拟器上使用。
关于此问题,有filed bug。
由于注释中已提及某些解决方法,例如检查INTERNET
是否为enabled if you are running in a release mode。
默认的Flutter应用程序模板启用了
INTERNET
的权限 调试/配置文件模式(以支持Dart天文台),但不支持 释放模式。
您还可以尝试以下操作:
此外,filed bug comment中还提到了其他解决方法:
顺便说一下,有两个文件夹在其中显示了AndroidManifest.xml 机器:
android / app / src / profile android / app / src / debug确保您同时拥有这两个权限
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.flloadimage"> <uses-permission android:name="android.permission.INTERNET"/> </manifest>
还可以尝试一下其他方法来查看电话是否有问题。登录到 启动(或插入)设备并ping 网站。
例如应该看起来像这样
~$ adb shell generic_x86:/ $ ping picsum.photos PING picsum.photos (104.37.178.1) 56(84) bytes of data. 64 bytes from 104.37.178.1: icmp_seq=1 ttl=254 time=17.6 ms 64 bytes from 104.37.178.1: icmp_seq=2 ttl=254 time=22.4 ms ^C --- picsum.photos ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5012ms rtt min/avg/max/mdev = 13.638/19.442/24.621/3.508 ms generic_x86:/ <press ctrl-d to exit to your prompt>
其他想法
- 尝试使用其他wifi,例如咖啡馆。
- 执行干净的命令来重建
- 在另一台计算机上安装