首页 > 解决方案 > java.net.UnknownHostException 无法解析主机“http://www.sanjarcreation.com/”:没有与主机名关联的地址

问题描述

在最新的 9.0 pie+ Oppo OnePlus 上仅通过互联网连接出现此错误,但在 Wifi 上工作正常,但当我刷新页面 2 到 3 次时,它会加载。

   public void parseHomeCategorydata(Context context){
        RequestQueue requestQ = Volley.newRequestQueue(context);
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, Const.Base_Url+"manage/api/p_category/all/?X-Api-Key="+Const.API_KEY+"&start=0&limit=100&field=shop_id&filter="+Const.Shop_id+"&parent=0" , null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                try {
                    JSONObject jsonObject = response.getJSONObject("data");
                    JSONArray jsonArray = jsonObject.getJSONArray("p_category");
                    homeCategoryRecModelArrayList = Parser.parseHomeCategoryList(jsonArray);
                    homeCategoryRecAdapter = new HomeCategoryRecAdapter(context , homeCategoryRecModelArrayList);
                    recyclerViewCategory.setAdapter(homeCategoryRecAdapter);
//                    parseSliderData(context);

                } catch (JSONException e) {

                    e.printStackTrace();
                }
            }
        },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        if(error.getMessage()==null){
                            Toast.makeText(context, "Failed to retrieve data", Toast.LENGTH_LONG).show();
                        }
                        else{
                            Toast.makeText(context, error.getMessage().toString(), Toast.LENGTH_LONG).show();
                        }

                    }
                }
        );
        requestQ.add(jsonObjectRequest);
    }

标签: android

解决方案


如果您正在测试或使用 Pie,那么您需要提供支持 ofhttps而不是http.

如果您没有 https URL,现在,您可以在清单文件中的应用程序标签中添加以下行

 android:usesCleartextTraffic="true"

完整代码

<application
        android:name=".ApplicationClass"
        android:allowBackup="false"
        android:fullBackupContent="@xml/backup_config"
        android:hardwareAccelerated="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/main_theam"
        android:usesCleartextTraffic="true"
        tools:ignore="GoogleAppIndexingWarning"
        tools:replace="android:allowBackup">

此外,如果您使用的是谷歌地图,请在您的应用程序标签(内部标签)中添加波纹管

<uses-library android:name="org.apache.http.legacy" android:required="false"/>

推荐阅读