Как видно из заголовка, если целью не является https, мой запрос get ничего не возвращает. Я не вижу никаких ошибок для устранения неполадок. Есть ли что-то в манифесте, мне нужно включить http в целях безопасности?
Чтобы получить ошибки в залпе, вам нужно внедрить приемник ошибок залпа, например
StringRequest request = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("response", response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return parameters;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
......
return headers;
}
};
RequestQueue queue = Volley.newRequestQueue(Class.this);
queue.add(request);
}
Если вы запускаете свое приложение на устройстве/эмуляторе с Android Pie (9.0) или выше и видите эту проблему, скорее всего, это связано с тем, что для CleartextTraffic установлено значение false, поскольку ОС делает это по умолчанию на этом уровне API или выше.
Посмотрите этот ТАК ответ здесь относительно того, почему это проблема и как ее решить.
Если вы просто хотите запустить его в тестировании и убедиться, что вызов работает, добавьте этот код в свой манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>
И это должно работать. Будьте предупреждены, хотя я отклонил приложения из магазина игр, если я оставлю это в коде релиза.