我有一个 MainActivity、一个 NonActivity 类和 SearchActivity。 NonActivity 类调用 startActivityForResult,但 nonActivity 类中的 onActivityResult 永远不会被调用。
但是当我出于测试目的实现它时,我发现它是在 MainActivity 中调用的。您能告诉我是否有可能从非Activity类调用onActivityResult吗?
这是我从 NonActivity 类调用的代码。
Intent intent = new Intent(activity, SearchActivity.class);
//start SearchActivity through intent and expect for result. The result is based on result code, which is REQUEST_DISCOVERY
activity.startActivityForResult(intent, REQUEST_DISCOVERY);
}
感谢您的回答,如果您需要更多代码,我可以添加。
最佳答案
onActivityResult()
不会在 NonActivity
类上调用,因为实际上它不是启动新 Activity
的类,您对 MainActivity
对象调用 startActivityForResult()
,而 MainActivity
是调用 onActivityResult()
的地方。要将其回调到 NonActivity
,只需在 NonActivity
中创建一个方法,然后从 MainActivity
调用它 onActivityResult()
,传递您需要的参数。
关于java - onActivityResult 不是从调用 startActivityForResult 的类中调用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16207300/