android - AsyncTask 适用于 Android 2.3.3 但不适用于 ICS

标签 android android-asynctask

我有 TabActivity,每个选项卡都有 ActivityGroup。在 Forth Tab 中,ForthActivityGroup 有一个 MyAsyncActivity 类。在 MyAsyncAcitivity 我有这个代码。 我有这个 Android AsyncTask 代码。 doInBackground(String.. params) 在 Android 2.3.3 上被调用并打印日志,但在 Android 4.0 上未打印。请有人告诉我我在做什么?

public class getXML extends AsyncTask<String, Integer, String>{
        private final ProgressDialog dialog = new ProgressDialog(this);

        @Override
        protected void onPreExecute() {
            this.dialog.setMessage("Loading...");
            this.dialog.show();
        }

        @Override
        protected String doInBackground(String... params) {
            Log.d("Payment", "do background");

            return "result";
        }

        @Override
        protected void onPostExecute(String result) {
            if (this.dialog.isShowing()) {
                this.dialog.dismiss();
            }

    }

最佳答案

使用这个:

AsyncTask task = new YourTask();
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1) {
   task.execute(params);
} else {
   task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
}

关于android - AsyncTask 适用于 Android 2.3.3 但不适用于 ICS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13818239/

相关文章:

java - 如何修复我的音频? (优先)

java - Activity 和语音识别

java - 调试:如何将 'sneak'放入类中声明的其他类对象

安卓 : Loading an image from the Web with Asynctask

java - 如何管理需要由 AsyncTask 调用的不同任务

android - 如何修复 React Native 最新版本(0.59)中的 'No connected devices!'?

android - ProgressBar 在后台任务中的数据源操作期间不旋转

java - 组织 AsyncTask 的最佳方式

android - 从 Service 执行的 AsyncTask

android - ObjectAnimator.ofFloat 不能直接在kotlin中取Int作为参数