我的应用程序无法仅在 One plus 设备上访问互联网

My Application not having Internet access on One plus devices only

我在多台设备上测试时遇到了一个奇怪的问题。我目前正在开发一个使用互联网连接进行 Api 通话的应用程序。

应用程序在 15 台不同的设备上进行了测试,在 12 台设备上运行良好。

只有 3 台设备无法正常工作,它们是 One plus 设备。我试图调查这个问题,发现它有一些关于互联网的问题 联系。所以基本上它不允许访问互联网连接。

努力:

我测试的设备:

任何人都可以提供一些解决此问题的指导。

编辑:

通过从 @ninja 那里获得更多帮助,我发现这实际上不是设备特定的问题。但这是 OS 9.0 或更高版本的问题。

因此,通过在清单文件中添加以下行就成功了。

<application
....
android:usesCleartextTraffic="true"
...

提前致谢。

请检查设备是否阻止您的应用使用数据,在设置 -> 数据使用控制下并阻止 查看: https://www.quora.com/Can-I-restrict-the-data-access-to-a-particular-app-on-OnePlus-3

如果是这样,唯一的工作就是启动应用程序,检查它是否可以访问 Internet(不仅仅是连接),如果可以,请询问用户允许弹出窗口的权限。

您可以重定向到设置数据使用情况 (实际未使用一加设备测试)

 Intent intent = new Intent();
 intent.setComponent(new ComponentName("com.android.settings","com.android.settings.Settings$DataUsageSummaryActivity"));
 startActivity(intent);

通过 @ninja 的更多帮助,我发现这实际上不是设备特定的问题。但这是 OS 9.0 或更高版本的问题。

因此,通过在清单文件中添加以下行就成功了。

<application
....
android:usesCleartextTraffic="true"

希望对大家有所帮助

如果我没记错的话,OnePlus 移动设备是 运行 API 级别 28(派)。 androidPie OS更新了这么多。

您可以在 developer site 上查看 Pie 中有多少变化或行为发生了变化。 Pie cleartextTraffic 中有一项更新默认为 false,因此如果您想启用,则必须在 <application> 标签中添加此 属性。

您可以添加这个属性如下。

<application
....
android:usesCleartextTraffic="true"
....>
....
</application>

有关信息,您可以查看此