【发布时间】:2019-12-01 12:53:36
【问题描述】:
每个 HTTP 请求都无法连接到服务器无论应用程序进入睡眠或最小化模式。这仅在 Android Pie(9.0) 中发生。
请检查我下面的代码,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AsyncReadConfig asyncReadConfig = new AsyncReadConfig();
asyncReadConfig.execute();
}
});
}
class AsyncReadConfig extends AsyncTask<Integer, Integer, Object> {
@Override
protected Object doInBackground(Integer... integers) {
try {
return callGetURLService(CONFIGURATION_URL);
} catch (Exception e) {
return e;
}
}
}
private Object callGetURLService(String path) {
try {
URL url = new URL(path);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String text;
StringBuilder configParams = new StringBuilder();
while ((text = in.readLine()) != null) {
configParams.append(text);
}
JSONObject jsonObject = new JSONObject(configParams.toString());
//Doing my stuff
return null;
} catch (Exception e) {
e.printStackTrace();
}
}
在我的manifeast.xml中,
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
.
.
在network_security_config.xml中
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">MY_DOMAIN</domain>
</domain-config>
</network-security-config>
我只是在睡眠模式下从服务器读取文本文件,但出现错误,
java.net.ConnectException: 连接服务器失败
当我将我的应用程序从最小化模式切换到活动模式时,一切正常。
【问题讨论】:
标签: java android android-9.0-pie