Articles of android asynctask

IntentService类没有在主ui线程上运行AsyncTask。 必须从主线程调用方法execute,当前推断的线程是worker

我最近发生了一个奇怪的问题。 我正在调用一个名为NotificationService的服务,它扩展了IntentService类。 现在在onHandleIntent(Intent intent)方法中,我调用异步任务。 代码如下: @Override protected void onHandleIntent(Intent intent) { defPrefs = PreferenceManager.getDefaultSharedPreferences(this); //int fiveMinutes = 1000 * 60 * 5; //Setting an alarm to call AlarmScheduler service now. This alarm scheduler service will set next days alarm to show notifications //based on the weekly schedule as obtained from server. Intent i = new […]

Android:AsyncTask ProgressDialog不会在ActivityGroup中打开

我正在尝试在轮询我的服务器时打开一个进度对话框。 该类是一个ActivityGroup,因为它嵌套在选项卡栏中。 要保持框架内的视图,需要ActivityGroup。 这是我的ActivityGroup类的声明: public class CheckInActivity extends ActivityGroup{ … public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.checkin); new LocationControl().execute(this); 现在我的AsyncTask类在同一个CheckInActivityClass中: private class LocationControl extends AsyncTask { private final ProgressDialog dialog = new ProgressDialog(CheckInActivity.this); protected void onPreExecute() { this.dialog.setMessage(“Determining your location…”); this.dialog.show(); } 当我运行给定的应用程序时,它通过与WindowManager $ BadTokenException相关的错误。 说明它无法使用未知令牌启动窗口。 我尝试制作一个只是常规Activity(而不是ActivityGroup)的示例应用程序,它运行得很好。 有没有人知道如何修改它以使其工作,或解决方法将允许进度条嵌套在选项卡栏中? 任何帮助是极大的赞赏。

ImageView上的Android进度条

我正在开发一个应用程序,用户将从相机拍摄照片并将其显示在具有图像视图的预览屏幕上。 **CameraCapture.java** class ButtonClickHandler implements View.OnClickListener { public void onClick( View view ){ myVib.vibrate(50); startCameraActivity(); } } protected void startCameraActivity() { File filenew = new File( _path ); Uri outputFileUri = Uri.fromFile( filenew ); Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE ); intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri ); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); startActivityForResult( intent, 0 ); } @Override protected void onActivityResult(int requestCode, […]

如何将variables传入和传出AsyncTasks?

我没有花太多时间在Android中使用AsyncTasks 。 我试图了解如何将variables传递给类和从类中传递variables。 语法: class MyTask extends AsyncTask{ // Your Async code will be here } 它与类定义末尾的语法有点混淆。 之前从未见过那种语法。 似乎我只限于将一个值传递给AsyncTask 。 假设这个我不正确吗? 如果我有更多要通过,我该怎么做? 另外, 如何从AsyncTask返回值? 它是一个类,当你想使用它时,你调用new MyTask().execute()但你在类中使用的实际方法是doInBackground() 。 那你在哪里实际归还的东西呢?

Android中的RxJava异步任务

我试图在Android中使用RxJava实现异步任务。 我尝试了以下代码,但它没有用。 它在UI线程上执行。 我使用的是以下版本的RxAndroid 0.24.0。 try { Observable.just(someMethodWhichThrowsException()) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(s -> onMergeComplete()); } catch (IOException e) { e.printStackTrace(); } 但是,以下内容对我来说是异步的。 Observable observable = Observable.create(new Observable.OnSubscribe() { @Override public void call(Subscriber subscriber) { try { someMethodWhichThrowsException(); } catch (IOException e) { e.printStackTrace(); } subscriber.onCompleted(); } }); observable.subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread()).subscribe(); 我想了解以下内容:1。它们之间有什么区别? 2.创建异步任务时的最佳做法是什么? 提前致谢。

您会为Android推荐哪个Android优先级作业队列(Asynk Task,Multithreading)库?

您会为Android推荐哪个Android优先作业队列(作业管理器)库? 现在我使用greenrobot / EventBus但EventBusfunction太窄(EventBus是发布/订阅事件总线) 备择方案: https://github.com/Arasthel/AsyncJobLibrary https://github.com/stephanenicolas/robospice https://github.com/yigit/android-priority-jobqueue https://github.com/BoltsFramework/Bolts-Android 你有什么建议? 作业管理器将负责优先级划分,持久性,负载平衡,延迟,网络控制,分组等。它还为您的作业提供了良好的生命周期,以提供更好,一致的用户体验。

当Activity更改时运行AsyncTasks会发生什么?

当网络操作在Asynctask中运行时,如果用户按下后退按钮并切换到另一个活动,那么在后台运行的Asynctask会发生什么? AsyncTask进程自动杀死操作系统? 异步任务完成它的整个操作?

AsyncTask在ViewPager的每个页面上运行

我在android开发教程中有3个Tabs 现在我想要做的很简单,我在每个页面上使用Fragments。 我想在每个页面上显示rss feed中的不同内容。 问题是,当我转到下一个选项卡时,它运行前一个片段的AsyncTask(在onCreateView中)。 所以从第1页开始,它可以很好地加载内容。 然后当你去第2页时再次运行第1页碎片的onCreateView。 并且显然给出了NullException。 关键是它不应该在第2页运行Page 1的AsyncTask。 我不认为有任何示例代码需要告诉我你需要看哪个部分。 然后我会编辑我的问题。 ListFragment中的AsyncTask: public class MyAsyncTask extends AsyncTask<List, Void, List> { // List of messages of the rss feed private List messages; private volatile boolean running = true; @SuppressWarnings(“unused”) private WeakReference fragmentWeakRef; private MyAsyncTask(NieuwsSectionFragment fragment) { this.fragmentWeakRef = new WeakReference(fragment); } @Override protected void onPreExecute() […]

Android:NoClassDefFoundError android.os.AsyncTask

几周之后,我看到越来越多的应用程序崩溃,但有以下exception 致命exception:java.lang.NoClassDefFoundError android.os.AsyncTask 这个代码运行了一个月没有任何问题,现在似乎在某些设备上失败(75%android 2.3.x和25%android 4.0.3)当我创建一个扩展AsyncTask的类的新实例时,它失败了。 我从UI线程创建这个类。 如何在SDK中定义该类?

Activity.finish()上的AsyncTask仍然在后台运行会发生什么?

Activity.finish()上的AsyncTask仍然在后台运行会发生什么? 它是否只是将Activity从活动堆栈中popup,但等待销毁Activity对象,直到AsyncTask完全完成(因为AsyncTask是我的Activity的内部类)? 此外,如果AsyncTask是一个公共的非内部类,它没有引用Activity的实例,它会采取什么不同的行为吗?