Сокет Android UnknownHostException в Android 9.0 - PullRequest
0 голосов
/ 29 марта 2020

Я разрабатываю приложение, и мне нужно проверить доступ к хосту: gprs.timeenergy.com.br на порту 5672, это то, что я сделал до сих пор:

public class SocketTask extends AsyncTask<Void, Void, String> {

    private Activity activity;
    private ConnectedListener listener;
    private Wifi wifi;
    private ListaWifiAdapter adapter;
    private WifiDAO dao;

    public SocketTask(Wifi wifi, ListaWifiAdapter adapter, WifiDAO dao, Activity activity, ConnectedListener listener) {

        this.wifi = wifi;
        this.adapter = adapter;
        this.dao = dao;
        this.activity = activity;
        this.listener = listener;

    }

    @Override
    protected String doInBackground(Void... voids) {

        try {
            Socket socket = new Socket("gprs.timeenergy.com.br", 5672);
            return socket.toString();
        } catch (IOException e) {
            return e.toString();
        }
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        Log.i("Retorno", s);
        if(!s.startsWith("Socket")) {
            AlertDialog.Builder dialog = new AlertDialog.Builder(activity);
            dialog.setTitle("Erro ao testar bloqueios").setMessage(s).setNeutralButton("OK", null).show();
            wifi.setIsBlocksTested(-1);
        } else {
            wifi.setIsBlocksTested(1);
            Log.i("xama", s);
        }
        dao.edit(wifi);
        adapter.atualiza(dao.todos());
        listener.whenConnected();
    }

    public interface ConnectedListener {
        void whenConnected();
    }
}

Это код отлично работает в Android 6.0, но в Android 9.0 я получаю это исключение:

java.net.UnknownHostException: Unable to resolve host "gprs.timeenergy.com.br": No address associated with hostname

Я знаю, это означает, что я не могу подключиться к хосту, но почему это работает в Android 6,0 и не в Android 9,0?

Android Манифест:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.nerasexpert">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        android:usesCleartextTraffic="true">
        <activity android:name=".ui.activity.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".ui.activity.UsuariosActivity" />
        <activity android:name=".ui.activity.WifiActivity" />
        <activity android:name=".ui.activity.InstalacaoEAlteracaoWifiActivity" />
    </application>
</manifest>

Редактировать: протокол хоста - amqp.

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