gpt4 book ai didi

java - 为什么这段代码不能在 android 9 上正确运行?

转载 作者:行者123 更新时间:2023-12-02 09:41:35 25 4
gpt4 key购买 nike

我有一个项目连接到 LAMP 服务器并使用 AsyncTask 获取一些数据。该应用程序可以在从 API 16 到 API 26 的所有 Android API 上正确运行。但是,当在 Android 9 (API 28) 上检查它时,在我在下面显示的代码中,变量“res”不会返回任何数据。 为什么?

import android.os.AsyncTask;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;

public class loginserver extends AsyncTask {
private String Link = "";
private String User = "";
private String Pass = "";

public loginserver(String link, String user, String pass) {
Link = link;
User = user;
Pass = pass;
}

@Override
protected Object doInBackground(Object[] objects) {
try {
String data = URLEncoder.encode("username", "UTF8") +
"=" + URLEncoder.encode(User, "UTF8");
data += "&" + URLEncoder.encode("password", "UTF8") +
"=" + URLEncoder.encode(Pass, "UTF8");
URL url = new URL(Link);
URLConnection urlConnection = url.openConnection();

urlConnection.setDoOutput(true);
OutputStreamWriter outputStreamWriter =
new OutputStreamWriter(urlConnection.getOutputStream());
outputStreamWriter.write(data);
outputStreamWriter.flush();

BufferedReader bufferedReader =
new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();

String line = null;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
SecondActivity.res = stringBuilder.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}

最佳答案

考虑到 API 28 出了问题,我怀疑这与 this 有关。 。该链接指向一篇 Android 开发者博客文章,详细介绍了 Android P 上引入的与网络安全相关的限制,基本上禁止明文通信,除非您采取措施将某些域列入白名单。

关于java - 为什么这段代码不能在 android 9 上正确运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57028068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com