10

AとBの2つのアプリケーションがあります。

次のコードを使用して、A から結果を得るために B を起動しています。

Intent fmIntent = getPackageManager().getLaunchIntentForPackage("com.example.B");
fmIntent.putExtra("hello", "world");
startActivityForResult(fmIntent, REQUEST_TEST);

Bから、私は次のことをしています:

getIntent().putExtra("completed", true);
setResult(RESULT_OK, getIntent());
finish();

同じアプリ内のアクティビティに対して上記を実行すると、期待どおりに機能します。

ただし、2 つの異なるアプリであるため、データがなく、結果コードが設定されていない空のインテントを受け取ります。全体を通して 1 つの意図が維持されるようにするには、上記をどのように編集すればよいですか?

4

2 に答える 2

6

setFlags(0)によって作成できるすべてのフラグを消去するために使用しgetLaunchIntentForPackageます。

Intent fmIntent = getPackageManager().getLaunchIntentForPackage("com.example.B");
fmIntent.setFlags(0);
fmIntent.putExtra("hello", "world");
startActivityForResult(fmIntent, REQUEST_TEST);
于 2015-11-30T11:28:27.097 に答える