android-如何在一个活动中开始处理异步任务,并在OnBackground中通知另一活动完成工作

android-如何在一个活动中开始处理异步任务,并在OnBackground中通知另一活动完成工作,第1张

概述我想实现以下行为,但不确定如何:1.Userstartanactivity2.ActivitystartsanAsyncTask3.AfterinitiatingtheAsyncTask,thecontrolistransferredtoanotheractivity.4.Now,whentheAsynTaskfinishesitswork,the2ndactivityshouldgettokno

我想实现以下行为,但不确定如何:

   1. User start an activity   2. Activity starts an AsyncTask   3. After initiating the AsyncTask,the control is transferred to another activity.   4. Now,when the AsynTask finishes its work,the 2nd activity should get to kNow that        AsyncTask has completed its working in the prevIoUs activity.

我不知道如何实现该功能.我知道如何使用AsyncTask,但我不知道如何通知除父活动以外的任何活动有关其工作的完成情况.请帮助我.

我想这样做,因为在第一个活动中我想开始一些在AsyncTask中的工作,然后将控件转移到第二个活动,但AsyncTask仍在运行.当AsyncTask完成其功能时,我想通知第二个活动然后想在第二活动中执行某些功能.

解决方法:

>在第二个活动中创建broadcastReceiver并使用进行注册
registerReceiver()方法.
>首先在AsyncTask的onPostExecute()方法中发送sendbroadcast()
活动.

public class SecondActivity extends Activity {    private broadcastReceiver mybroadcastReceiver =        new broadcastReceiver() {            @OverrIDe            public voID onReceive(...) {                ...            }       });    ...    public voID onResume() {        super.onResume();        IntentFilter filter = new IntentFilter();                      filter.addAction("com.example.asynctaskcompleted");                      filter.addcategory("androID.intent.category.DEFAulT");        registerReceiver(mybroadcastReceiver, filter);    }    public voID onPause() {        super.onPause();        ...        unregisterReceiver(mybroadcastReceiver);    }    ...}public class FirstActivity extends Activity {    private class MyTask extends AsyncTask<VoID, VoID, VoID> {        protected VoID doInBackground(VoID... args) {        ...    }        protected voID onPostExecute(VoID result) {        Intent intent = new Intent ("com.example.asynctaskcompleted");                    FirstActivity.this.sendbroadcast(intent); }

}

总结

以上是内存溢出为你收集整理的android-如何在一个活动中开始处理异步任务,并在OnBackground中通知另一活动完成工作全部内容,希望文章能够帮你解决android-如何在一个活动中开始处理异步任务,并在OnBackground中通知另一活动完成工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1092930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存