Мое приложение не имеет доступа к Интернету только на устройствах One plus - PullRequest
1 голос
/ 18 марта 2019

У меня странная проблема при тестировании на нескольких устройствах. В настоящее время я работаю над приложением, которое использует интернет-соединение для вызовов Api.

Приложение протестировано на 15 различных устройствах и на 12 устройствах работает отлично.

Только 3 устройства, которые не работают, являются устройствами One plus. Я попытался исследовать проблему и обнаружил, что у нее есть некоторые проблемы, связанные с Интернетом. подключение. Так что в основном это не позволяет получить доступ к интернету.

Усилия:

  • Я уже пытался использовать множество различных решений, но не нашел правильного решения.
  • Все настройки разрешений выполнены отлично
  • Только он прикрепляется к устройствам One plus согласно сценарию тестирования 15 устройств
  • На всех устройствах One plus другие приложения работают нормально, без проблем

Устройства, на которых я тестировал:

  • Один плюс
  • Moto G
  • Samsung s9
  • MI Note 4, 5
  • Gionee
  • Oppo

Может ли кто-нибудь предоставить некоторые рекомендации по решению этой проблемы.

Редактировать:

Получив больше помощи от @ninja, я обнаружил, что на самом деле это не проблема конкретного устройства. Но это была проблема с OS 9.0 или выше.

Таким образом, добавление приведенной ниже строки в файл манифеста сделало трюк.

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

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 18 марта 2019

Получив дополнительную помощь от @ ninja , я обнаружил, что на самом деле это не проблема конкретного устройства.Но это была проблема с OS 9.0 или выше.

Так что добавление приведенной ниже строки в файл манифеста помогло.

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

Надеюсь, это поможет всем.

1 голос
/ 19 марта 2019

Если я не ошибаюсь, мобильное устройство OnePlus работает на уровне API 28 (пирог). В Android Pie OS столько обновлений.

Вы можете проверить это на сайте разработчика , сколько изменений или поведения изменилось в Pie. Есть одно обновление, которое в Pie cleartextTraffic по умолчанию имеет значение false, поэтому, если вы хотите включить его, вы должны добавить это свойство в тег <application>.

Вы можете добавить это свойство, как показано ниже.

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

Для получения информации вы можете проверить этот вопрос переполнения стека

1 голос
/ 18 марта 2019

Проверьте, не блокирует ли ваше приложение ваше приложение для использования данных, в разделе «Настройки» -> «Управление использованием данных» и проверьте блокировку: https://www.quora.com/Can-I-restrict-the-data-access-to-a-particular-app-on-OnePlus-3

, если это так, то единственным способом работы является проверка запуска приложения, если оно может получить доступ к Интернету.(Не только подключение), если это так, попросите пользователя разрешить всплывающее окно.

вы можете перенаправить на настройку использования данных с помощью (не проверено на одном устройстве плюс на самом деле)

 Intent intent = new Intent();
 intent.setComponent(new ComponentName("com.android.settings","com.android.settings.Settings$DataUsageSummaryActivity"));
 startActivity(intent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...