如何让加载活动等到线程完成

Posted

技术标签:

【中文标题】如何让加载活动等到线程完成【英文标题】:How to let loading activity waits until thread finishs 【发布时间】:2019-12-17 15:50:00 【问题描述】:

您好,我有一个应用程序,它通过加密用户信息和密码的文件来建立会话......加密操作需要一些时间我添加了一个具有加载主题的活动我的问题是如何加入加密线程来自加载活动,而它不在像这样的同一个活动类中

            //encryption thread Thread t1=....
          Intent intent = new Intent(LoginActivity.this, LoadingActivity.class);
            startActivity(intent);

在这里我想要一个代码加入 t1,而我正在加载活动并且 t1 正在登录活动中

          //after joining the thread   
   Intent intent = new Intent(LoadingActivity.class, LoginActivity.this);
            startActivity(intent);

【问题讨论】:

在登录活动中使用广播接收器 你可以使用Thread.join 了解一下 ProgressDialog 和 AsyncTask。并重新考虑您的问题。 @Shaiful 非常感谢。你能把它写成答案,我可以打勾,这样人们就可以看到它已经回答了 【参考方案1】:

ProgressDialog 将让您在等待后台任务完成时显示对话框。您可以结合AsyncTask 来显示/隐藏对话框,也可以做背景工作。虽然Thread 也可以。

您可以使用其他方式的进度指示器代替ProgressDialog,通过AsyncTask方法激活或停用。

【讨论】:

以上是关于如何让加载活动等到线程完成的主要内容,如果未能解决你的问题,请参考以下文章

C#如何让函数等到完成某件事?

java多线程之间的通信

Flutter:如何让页面等到数据加载?

如何让jquery在页面没加载完就可以执行,每次要等到整个hmtl加载完才可以执行jquery,这样很慢

如何让函数调用等到另一个完成

如何让函数等到动画完成?