android - 动态创建新线程并给它一个 onActivityResult

标签 android multithreading android-intent

我正在生成一个新线程,而不是覆盖/ Hook 到当前 onActivityResult 中。在这个新线程中,我想给它一个 onActivityResult 监听器,这可能吗?

这是我尝试在这里工作的替代解决方案 - Intents and onActivityResult in native/JNI

最佳答案

onActivityResult 由您通过 Intent 的 startActivityForResult 启动 Activity 的 Android 系统使用。如果你已经启动了你自己的线程,我会做的是拥有你自己的监听器,然后在方法onActivityResult中,你可以调用你的监听器并且其他线程中的功能可以知道它何时发生.

所以:

public class MyActivity extends Activity {

     public void startActivity(View v) {
         Intent intent = new Intent();
         intent.startActivityForResult(intent, 1);
     }

     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         // call method in other thread
     }


}

如果你正在处理 JNI,你在 C 中调用一个方法,你可以简单地调用本地方法,它会在 C 中被拾取

关于android - 动态创建新线程并给它一个 onActivityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35441559/

相关文章:

Android,宽屏幕或多屏幕

java - 如果我对静态方法进行类级别锁定,并且如果一个线程执行它,那么它会阻止其他线程执行同一类的其他实例方法吗?

android - 来自 Intent.ACTION_OPEN_DOCUMENT 提供的 Android URI 的文件上次修改时间

android - Intent extra 未在特定设备上交付

android - 访问/升级/清除移动设备 : MDM

java - 如何获得打开另一个 Activity 的按钮?

android - 适用于 Android 应用程序的 Google 子 token

java - 为什么我的 Java 线程不同时运行?

c++ - 析构函数应该是线程安全的吗?

android - 正确跟踪 Play 商店中的安装引荐