到目前为止,我的应用程序运行良好,直到我将以下行放入 android manifest
<uses-sdk android:targetSdkVersion="14"/>
现在应用程序没有发出 HTTP 请求,据我所知 b'coz 应用程序没有登录。有什么我遗漏的吗?
当我使用
<uses-sdk android:targetSdkVersion="9"/> or <uses-sdk android:targetSdkVersion="7"/>
有用。
到目前为止,我的应用程序运行良好,直到我将以下行放入 android manifest
<uses-sdk android:targetSdkVersion="14"/>
现在应用程序没有发出 HTTP 请求,据我所知 b'coz 应用程序没有登录。有什么我遗漏的吗?
当我使用
<uses-sdk android:targetSdkVersion="9"/> or <uses-sdk android:targetSdkVersion="7"/>
有用。
听起来您正在从 UI 线程进行 HTTP 调用,不建议这样做,但可以使用 targetVersion 9,更高版本强制要求 HTTP 请求从 UI 线程以外的线程完成,所以当您将 targetVersion 更改为 14 现在强制执行此检查。您需要更新您的应用程序代码以从不同的线程进行 HTTP 调用(检查 Loaders 和/或 AsyncTask 以帮助解决此问题)
我解决了这个问题。问题是异步任务从未进入doInBackground()
. 问题是我正在使用webServiceTask.execute();
,但现在我将其更改为 if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
webServiceTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,"");
else
webServiceTask.execute("");
在此之后它开始工作。