为了账号安全,请及时绑定邮箱和手机立即绑定

HttpURLConnection with JSON on Android 9, API 28

HttpURLConnection with JSON on Android 9, API 28

温温酱 2022-09-07 21:46:44
我正在尝试在Android 9,API 28中使用HttpURLConnection。它适用于Android 8.0.0,API 26,但不适用于API 28。            JSONObject jsonObject = new JSONObject();            jsonObject.accumulate("name", name);            String json = jsonObject.toString();            URL url = new URL("http://website_link");            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();            urlConnection.setDoOutput(true);            urlConnection.setRequestMethod("POST");            urlConnection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");            OutputStream os = urlConnection.getOutputStream();            os.write(json.getBytes("UTF-8"));            os.close();            InputStream inputStream = new BufferedInputStream(urlConnection.getInputStream());            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("utf-8")), 8);            String line;            json = "";            while ((line = reader.readLine()) != null) {                json += line;            }            inputStream.close();            jsonObject = new JSONObject(json);            inputStream.close();            urlConnection.disconnect();            ...我试图使用以查看哪些代码未执行,我看到它停止在Log.dOutputStream os = urlConnection.getOutputStream();你知道问题出在哪里吗?
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

试试这个添加Manifest.xml

cleartextTrafficPermitted="true"

它看起来像这样 如何允许在Android(9)Pie中的所有网络连接类型HTTP和HTTPS?


查看完整回答
反对 回复 2022-09-07
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

这是因为Apache HTTP客户端的折旧,所以在标签中添加下面一行。

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


查看完整回答
反对 回复 2022-09-07
  • 2 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号