我正在尝试通过 000webhost.com 创建数据库。每当我从 android studio 运行应用程序时,我都会在事件日志中看到此消息。有谁知道如何解决这个问题?非常感激!
我也遇到了同样的问题。请将此行添加到清单中的应用程序标记中。希望也能帮到你。
android:usesCleartextTraffic="true"
我也有同样的问题,但这是我的解决方案:
在 Android Manifyst 中,在标签应用程序中添加:
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
在 xml 文件夹中创建此文件 network_security_config.xml 并写入以下内容:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
在标签应用程序内添加此标签:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
您收到的消息不是错误;而是错误。它只是让您知道您没有使用网络安全配置。如果您想添加一个,请查看 Android 开发者网站上的此页面:https://developer.android.com/training/articles/security-config.html.
我也遇到了同样的问题。这不是网络权限而是线程问题。下面的代码帮助我解决了这个问题。 Put 处于主要活动中
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (android.os.Build.VERSION.SDK_INT > 9)
{
StrictMode.ThreadPolicy policy = new
StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
检查应该使用 https 而不是 http 协议的 URL。
就我而言,将 URL 中的 http 更改为 https 解决了这个问题。
api 28及以上版本会出现这种情况,因为不再接受http,如果要接受http或localhost请求,则需要更改。
创建 XML 文件
在您创建的新 XML 文件中添加以下代码
将此添加到 AndroidManifest.xml
我知道我的答案迟到了,但这可能会对某人有所帮助。 如果您仍然遇到此问题,您可能没有将发出请求的方法放入Thread
我想我已经明白了
当 Android 加载其可信锚点时,默认情况下会使用 network_security_config 文件,只要您提供一个即可。
但是!
如果您在 Activity 启动之前使用 OKHTTP3(为我重现它)进行连接,例如在静态初始化程序上,Android 将没有时间从应用程序加载网络安全配置,并且将使用平台配置默认情况下而不是您提供的。
我希望这对某人有帮助