我的应用程序仅在One Plus设备上无法访问Internet

时间:2019-03-18 09:57:08

标签: java android android-permissions

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

该应用程序在15种不同的设备上进行了测试,并在12种设备上进行了完美的测试。

只有3个无法正常工作的设备是One plus设备。我试图调查此问题,发现其中存在一些有关互联网的问题 连接。因此,基本上,它不允许访问Internet连接。

努力:

  • 我已经尝试使用许多不同的解决方案,但是没有得到任何合适的解决方案。
  • 所有权限设置完美完成
  • 根据15种设备测试情况,它只能粘贴在One plus设备上
  • 在所有One plus设备上,其他应用正常运行而没有任何问题

我在以下设备上测试过的设备:

  • 一加
  • Moto G
  • 三星s9
  • MI注意4、5
  • Gionee
  • Oppo

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

编辑:

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

因此,通过在清单文件中添加以下行确实可以达到目的。

getInitialState

谢谢。

3 个答案:

答案 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