动态创建新线程并为其提供onActivityResult

时间:2016-02-16 19:36:03

标签: android multithreading android-intent

而不是覆盖当前onActivityResult的覆盖/钩子,而是产生一个新线程。在这个新线程中,我想给它一个onActivityResult监听器,这可能吗?

我尝试在此处使用替代解决方案 - Intents and onActivityResult in native/JNI

1 个答案:

答案 0 :(得分:1)

Android系统使用

onActivityResult,您可以通过意图startActivityForResult启动活动。如果您已经创建了自己的线程,我会做的是拥有自己的侦听器,然后在方法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中被选中