Delphi开发APP-Android下网络访问的配置

很多新手朋友遇到过这个情况,自己开发的APP在Windows上运行的好好的,接口能正常调用,图片能正常下载,用WebBrowser网页也能正常访问,怎么到了Android手机下面,突然接口不能访问了,图片也下载不了,网页也打不开了,比如:

Screenshot_2022-05-03-06-42-06-948_com.embarcader Screenshot_2022-05-03-06-10-46-018_com.embarcader

是不是Delphi开发的APP不行?

这你就错怪Delphi了,这全都是因为Android系统默认禁止了不安全的HTTP访问,如上面网页无法打开那张截图,提示说是因为:net::ERR_CLEARTEXT_NOT_PERMITTED,那我们用谷歌摆渡一下:

我们点击第一个发布在stackoverflow上的帖子,看看有没有解决方案

第一个回复说是在Android 9的设备上,明文传输默认被禁止(HTTP就是明文传输),如果需要允许,则需要在AndroidManifest.xml中的application节点上加入android:usesCleartextTraffic这个属性,值为”true”。

在Delphi中如何配置呢?我们打开工程根目录下面的AndroidManifest.template.xml文件,找到application节点,加入android:usesCleartextTraffic=”true”即可。

你再运行试试,是不是解决了。