java - 如何从另一个 Activity 触发一个 Activity 的方法调用?

标签 java android multithreading bitmap kotlin

我有一个 CropViewActivity 来裁剪图像,将裁剪后的图像保存到外部存储中。解码位图并将其保存到外部存储的过程是在另一个线程中完成的。因此,裁剪 Activity 结束,而图像处理仍在后台继续进行。现在我想要一种方法来通知我的另一个 Activity,其中包含一个 ImageView。在后台图像处理结束时,ImageView 应该从内存中获取保存的图像并加载它。

如何实现这种线程间暨 Activity 间通信?请帮忙..

最佳答案

有几种方法可以做到这一点。我想给你推荐一些。

  1. 完成图像处理后,您可以考虑使用 BroadcastReceiver。您需要在包含 ImageView 的 Activity 中注册接收器,并在另一个 Activity 中处理图像后,发送具有您正在监听接收的所需 Intent 的广播。这是 sample implementation关于如何实现 BroadcastReceiver
  2. Activity 之间进行通信的另一种方式是启动 Activity 以获取结果。请参阅developers documentation了解如何使用 startActivityForResult ,然后从正在处理图像的 Activity 获取结果,并将结果返回给包含您案例中的 ImageView 的调用 Activity 。

您可以根据您的用例选择最适合的这两个中的任何一个。希望有帮助。

关于java - 如何从另一个 Activity 触发一个 Activity 的方法调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50913625/

相关文章:

java - 没有打印语句,循环看不到其他线程更改的值

java - 吉斯。如何在父类的一个字段中注入(inject)不同的对象?

android - 更新 Facebook APK 后,FACEBOOK/TWITTER 登录不再适用于 Android 应用程序(登录立即消失!)

android - 多个选项的 SQLite 查询帮助

multithreading - 我强大的本地计算机与另一台远程计算机上的MATLAB Quadprog极其慢

c++ - FFmpeg C++ 在单独的线程中解码

java - 如何使 JDBC 驱动程序在 Java 5 和 6 中工作?

java - 我如何正确定义对象的 getter 和 setter 方法

java - 如何使用 java 阻止用户访问目录?

Android 文件系统挂载/卸载通知