【问题标题】:Get the result of startActivityForResult method in another activity?在另一个活动中获取 startActivityForResult 方法的结果?
【发布时间】:2017-07-20 20:41:51
【问题描述】:

我正在使用Google place picker API,如下所示:

PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
startActivityForResult( builder.build((Activity) context), PLACE_PICKER_REQUEST );

现在,我在 onActivityResult() 方法中得到了预期的结果:

protected void onActivityResult( int requestCode, int resultCode, Intent data ) {
  if( requestCode == PLACE_PICKER_REQUEST && resultCode == RESULT_OK ) {
        displayPlace( PlacePicker.getPlace( data, this ) );
    }
}

活动和意图的过程是

MapActvity -> Place picker intent -> MapActivity 

我可以在调用startActivityForResult 之后直接转到另一个活动并在另一个活动的onActivityResult() 中收集结果,而不是返回到MapActivity

【问题讨论】:

    标签: android android-fragments android-intent onactivityresult


    【解决方案1】:

    不,抱歉,这是不可能的。 startActivityForResult()onActivityResult() 方法是配对的;对startActivityForResult() 的调用始终将其结果传递给进行调用的同一活动(或片段)。

    【讨论】:

    • 哦!感谢您的回答。这样做的原因是我不想在返回 onActivityResult() 方法时显示 MapActivity 内容。是否可以隐藏内容?如果可能的话,我可以简单地从 onActivityResult 方法本身调用另一个活动
    • @AmitPal:“可以隐藏内容吗?” ——大概。我没有写你的活动,所以我不知道细节。 :-) 请记住,用户可能会通过 BACK 按钮取消地点选择器,因此您需要同时处理正面和负面的情况。
    猜你喜欢
    • 1970-01-01
    • 2020-07-17
    • 2021-10-11
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多