0

私は次のようにGoogle place picker APIを使用しています:別のアクティビティでstartActivityForResultメソッドの結果を取得しますか?

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に電話した後にMapActivityに戻る代わりに、直接mov eを別のアクティビティに追加し、別のアクティビティのonActivityResult()の結果を収集しますか?

答えて

1

いいえ、申し訳ありませんが、これはできません。 startActivityForResult()とのメソッドはペアになっています。 startActivityForResult()への呼び出しは、呼び出しを行ったのと同じアクティビティ(またはフラグメント)に常にその結果を返します。

+0

ああ!ご回答有難うございます。これを行う理由は、 'onActivityResult()'メソッドに戻ってMapActivityの内容を表示したくないからです。コンテンツを非表示にすることは可能ですか?可能ならば、単にonActivityResultメソッド自体から別のアクティビティを呼び出すことができます –

+0

@AmitPal: "コンテンツを非表示にすることはできますか?"おそらく。私はあなたの活動を書いていないので、詳細はわかりません。 :-)ユーザは、BACKボタンでプレース・ピッカーから取り消すことがあるので、肯定的なケースと否定的なケースの両方を処理する必要があることに注意してください。 – CommonsWare

関連する問題