Я разрабатываю приложение, и мне нужно проверить доступ к хосту: 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.