提问者:小点点

NetworkSecurityConfig:未指定网络安全配置-Android 7.0错误?


我对android 7.0.0有一些问题。

我为我的应用程序使用volley库,除了Android 7.0之外,它运行良好

这是我的部分代码;

String url_goster = "http://185.126.217.71/clog.php";
RequestQueue requestQueue;

StringRequest request= new StringRequest(Request.Method.POST, url_goster, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        JSONObject veri_json;
        try {
            veri_json = new JSONObject(response);
            JSONArray serial_no = veri_json.getJSONArray("Bilgiler");

            for (int i = 0; i< serial_no.length(); i++){
                JSONObject bilgis = serial_no.getJSONObject(i);

                // JSON olarak verileri çekiyoruz
                String GELEN_SERIAL = bilgis.getString("GELEN_SERIAL");
                String TERMINAL_ADI = bilgis.getString("TERMINAL_ADI");
                String SICAKLIK_T1 = bilgis.getString("SICAKLIK_T1");
                String SICAKLIK_T2 = bilgis.getString("SICAKLIK_T2");
                String SICAKLIK_T3 = bilgis.getString("SICAKLIK_T3");
                String SON_DATA = bilgis.getString("SON_DATA");
                String NEM_H1 = bilgis.getString("NEM_H1");
                String NEM_H2 = bilgis.getString("NEM_H2");
                String NEM_H3 = bilgis.getString("NEM_H3");
                String SENSOR_1_AD = bilgis.getString("SENSOR_1_AD");
                String SENSOR_2_AD = bilgis.getString("SENSOR_2_AD");
                String SENSOR_3_AD = bilgis.getString("SENSOR_3_AD");
                int SENSOR_SAYISI = bilgis.getInt("SENSOR_SAYISI");

                kisiler.add(new Kisi(TERMINAL_ADI, SON_DATA, SENSOR_1_AD, SENSOR_2_AD, SENSOR_3_AD, SICAKLIK_T1, SICAKLIK_T2, SICAKLIK_T3, NEM_H1, NEM_H2, NEM_H3, GELEN_SERIAL, SENSOR_SAYISI));
            }
        } catch (JSONException e) {
            Log.e("JSON ALIRKEN HATA",e.getLocalizedMessage());

            Toast.makeText(getApplicationContext(), "Server'a bağlanılırken bir hata ile karşılaşıldı.", Toast.LENGTH_SHORT).show();
        }
    }
    }, new Response.ErrorListener() {
           @Override
           public void onErrorResponse(VolleyError error) {

           }
       }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String,String> params = new HashMap<String,String>();
                params.put("ad",USER);
                return params;
            }
        };
        requestQueue.add(request);
    }

如果我在Android 7.0上测试我的应用程序,控制台的输出是;

D/NetworkSecurityConfig:未指定网络安全配置,使用平台默认I/Choreograph er:跳过127帧!应用程序可能在其主线程上做了太多工作。

但这只发生在Android 7.0和应用程序看起来空白,因为它没有得到来自互联网的响应

.我如何解决这个问题?


共3个答案

匿名用户

此消息没有问题:

D/NetworkSecurityConfig: No Network Security Config specified, using platform default 

D/表示这是一条调试消息。它表明您没有定义自己的网络安全配置,因此适用平台默认规则。这很好。

应用程序看起来是空的,因为它没有从Internet响应

据我所知,您正在解析一些JSON,遍历它,并填充kitiler。也许kitiler没有连接到您的UI。

匿名用户

所以,我认为之前的答案不够清楚。(我花了几个小时试图“调试”这个)

如果你看到这个提示,事实上它说

d/blablabla

意味着这是一个调试,而不是错误。它更像是一个通知,让您知道您没有指定NetworkSecurityConfig,它自己决定将其设置为默认值。没有错。

但是,您的错误将显示为:

e/blebleble

太长别读如果你试图调试错误,你可能找错地方了。

匿名用户

尝试将其添加到清单. xml

<uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

将android模拟器从AVD管理器更改为像素2API28,它在windows和mac中都为我工作