どのように私はCameraActivitiesを受け取ることができる(すなわちない起動1で)DIFFERENT活動につながりますか?

StackOverflow https://stackoverflow.com/questions/2435050

  •  19-09-2019
  •  | 
  •  

質問

私は、を介してカメラの意図を発射活動Aを持っています

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_CAMERA);

:画像が撮影された後に、

私は簡単に画像を取得することができ

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)

しかし、私は、画像を編集することが可能なアクティビティBでの結果を受け取りたいです。 今私は、アクティビティAに結果を受信し、しばらくの活動AのGUIを示すことになるアクティビティBに上を通過しています:

Intent i = new Intent().setAction("DisplayJPEG");
i.setClass(this, EditImageActivity.class);
i.putExtra("IMAGE_URI", uri);
startActivityForResult(i, REQUEST_EDIT_IMAGE);
画像が編集された後に

もちろん、私は、アクティビティAにおける活動のBからの結果が必要になります。しかし、それはで動作するはずます:

setResult(resultCode, data);

だから私は必要なものを行うための方法がなければなりません。正しい方向に私を指すしてください。

役に立ちましたか?

解決

あなたはActivityBを起動しようとした、とActivityBのonCreateイベントでカメラの意図を起動することがありますか?

他のヒント

あなたは、技術的にはあなたが求めているものを行うことはできません。ペンティアムは言うし、それを他の方法で回避を行うよう、あなたはそれをあなたが道を渡し続ける方法を見つけると、UIを非表示にしたり、実行する必要があります。

編集:ネヴァーマインド、私はこれがどのように機能するかを読み違えます。実際に何が起こるかは、あなたがBを活動Aにその結果をない返すCのアクティビティBはアクティビティのCアクティビティAが望んでいたものは何でも処理を継続するために開始する必要がある場合、その後、あなたが活動をするためにFLAG_ACTIVITY_FORWARD_RESULTを使用することができますが、結果のアクティビティBを開始するために活動Aを使用することができますですます。

<時間>

私は一目よりも、この以上に見ていないが、私はマニュアルに従っているFLAG_ACTIVITY_FORWARD_RESULTと呼ばれるテントフラグに気づいます:

If set and this intent is being used to launch a new activity from an existing one, then the reply target of the existing activity will be transfered to the new activity. This way the new activity can call setResult(int) and have that result sent back to the reply target of the original activity.

私が言ったように、

、私はこれを試していないが、それはあなたが活動Aからカメラの意図を起動するが、アクティビティBを楽しみにその結果を、それを持つことができることを示唆しているようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top