在多台设备上进行测试时,我遇到了一个奇怪的问题。我目前正在开发一个使用Internet连接进行Api调用的应用程序。
该应用程序在15种不同的设备上进行了测试,并在12种设备上进行了完美的测试。
只有3个无法正常工作的设备是One plus设备。我试图调查此问题,发现其中存在一些有关互联网的问题 连接。因此,基本上,它不允许访问Internet连接。
努力:
我在以下设备上测试过的设备:
任何人都可以为解决此问题提供一些指导。
编辑:
通过从@ninja获得更多帮助,我发现它实际上并不是特定于设备的问题。但这是OS 9.0或更高版本的问题。
因此,通过在清单文件中添加以下行确实可以达到目的。
getInitialState
谢谢。
答案 0 :(得分:1)
请检查设备是否在设置->数据使用控制下阻止了您的应用程序的数据使用并阻止 校验: https://www.quora.com/Can-I-restrict-the-data-access-to-a-particular-app-on-OnePlus-3
如果是这样,则只能在应用启动时检查应用程序是否可以访问Internet(不仅仅是连接性),如果是这样,请用户允许弹出窗口许可。
您可以使用以下命令重定向到设置数据使用量 (实际上未在一个plus设备上进行过测试)
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.settings","com.android.settings.Settings$DataUsageSummaryActivity"));
startActivity(intent);
答案 1 :(得分:1)
通过从@ninja获得更多帮助,我发现这实际上不是特定于设备的问题。但这是OS 9.0或更高版本的问题。
因此,通过在清单文件中添加以下行确实可以达到目的。
<application
....
android:usesCleartextTraffic="true"
希望它将对所有人有帮助。
答案 2 :(得分:1)
如果我没有记错,那么该OnePlus移动设备正在API级别28(Pie)上运行。 android Pie OS中有太多更新。
您可以在developer site上检查Pie中有多少更改或行为已更改。
在Pie cleartextTraffic
中有一个更新,默认情况下为false,因此,如果要启用,则必须在<application>
标记中添加此属性。
您可以如下添加此属性。
<application
....
android:usesCleartextTraffic="true"
....>
....
</application>
有关信息,您可以检查此stack overflow question