51

startActivityForResult()とはどう違いstartActivity() ますか?

いつ、何のために、それぞれを使用する必要がありますか?

4

2 に答える 2

43

startActivity

アプリケーションを開始するのと同じように、アクティビティを開始します。たとえば、ホーム画面とユーザー情報画面を備えたアプリがあります。ユーザー情報ボタンを押すと、これを使用してユーザー情報アクティビティを開始します。

startActivityForResult

活動を開始し、見返りに何かを期待します。たとえば、ユーザー情報画面で、プロフィール写真をアップロードできます。優先画像でURIを取り戻すという明確な目標を持って、ギャラリーアクティビティを開始します。このアクティビティを文字通り開始して結果を取得します(図。実際に結果を取得するための技術的な方法はいくつかありますが、マニュアルでは非常に明確です。

于 2013-01-02T10:03:05.297 に答える
29

startActivityは新しいアクティビティを開始し、そのアクティビティがいつどこでどのように終了するかは気にしません。

明らかに

startActivityForResultは、開始されたアクティビティが終了することを決定したときにコールバックを待機します

startActivity()は、startActivity によって開始された新しい子アクティビティから親アクティビティへの結果を取得することを心配することなく、開始したいアクティビティを開始します。

startActivityForResult()はアクティビティから別のアクティビティを開始し、startAcitvityForResult() によって新しく開始された子アクティビティからデータを取得し、それを親アクティビティに返すことを期待しています。

このリンクをチェックしてください -Activity#startActivityForResult(Intent, int)

于 2013-01-02T10:06:23.393 に答える