【问题标题】:Android 9.0: HTTP request throws exception in "Minimize mode"Android 9.0:HTTP 请求在“最小化模式”中引发异常
【发布时间】: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


    【解决方案1】:

    当您的应用在后台时,您无法进行网络调用,除非您使用前台服务进行网络调用

    【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多