Android Приложение не имеет соединения inte rnet - разрешения не требуются - PullRequest
1 голос
/ 25 февраля 2020

Ну, я построил приложение для хранения значений в удаленной базе данных. Оно работает!! Я не использовал эмулятор для тестирования, вместо этого я использовал свой собственный телефон. Теперь проблема в том, что на моем телефоне он работает отлично ... никаких проблем, но когда я установил его на другом телефоне, приложение не подключается к inte rnet. Я включил разрешение inte rnet в манифест android. xml.

Я пробовал это, но не работало:

  1. Сборка apk и установка в новом phone.
  2. Компиляция непосредственно на новый телефон.
  3. Отправка apk со старого телефона на новый телефон через shareit.
  4. Создание подписанного apk и установка.
  5. Проверено через Wi-Fi и мобильные данные (ПРИМЕЧАНИЕ: ОБА И WIFI И МОБИЛЬНЫЕ ДАННЫЕ РАБОТАЮТ В СТАРОМ ТЕЛЕФОНЕ).
  6. Проверено android Совместимость: поддерживает до android 10.

* Я добавил сообщения об ошибках для try ... catch блоков в виде тостов, чтобы пользователь знал, в чем проблема. и исключение catch для no inte rnet возвращает проблему с соединением. Я получаю это сообщение об ошибке.

Во время исследования я узнал, что разрешение inte rnet относится к категории обычных разрешений, которые не выдаются пользователю при установке.

I построил второе фиктивное приложение: та же проблема с ним ... скомпилирована напрямую на новый телефон, но не работает ... работает на старом телефоне ...

Старый телефон: Samsung J7 Prime с Android 8.1 Новый телефон: Samsung J7 Pro с Android 9

Любая идея или предложение с радостью помогут ... Спасибо!

Ответы [ 4 ]

2 голосов
/ 25 февраля 2020

в android 9 и выше вы должны установить Network Security Config
, прежде всего в res-пакете создать пакет xml, а в xml создать новый xml файл ресурсов с именем network_security_config

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
 </network-security-config>

тогда в манифесте в

android:networkSecurityConfig="@xml/network_security_config"
1 голос
/ 25 февраля 2020
<uses-permission android:name="android.permission.INTERNET" />
0 голосов
/ 25 февраля 2020

пожалуйста, добавьте разрешение в Манифесте, чтобы дать разрешение разрешения.INTE RNET

0 голосов
/ 25 февраля 2020

Используйте отладочный APK вместо подписанного APK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...