私は2つのアプリに取り組んでいます。最初のボタンには、押されたときにデータが添付された暗黙的なインテントを起動するボタンがあります。inten-filter
インテントは、他のアプリのメイン アクティビティに登録されたものによってキャプチャされます。
私が必要としているのは、子アクティビティが一部のデータを親 (バックグラウンドにある) に終了せずにすぐに送り返し、フォアグラウンドに留まらなければならないことです。
startActtivityForResult()
私は成功せOnActivityResult()
ずにこれを実装しようとしました。実際、このメソッドは、子アクティビティが終了した場合にのみ機能します。
サービスのような他のソリューションを探しています...しかし、私はかなり初心者であり、少なくとも正しい道に対処する必要があります。
前もって感謝します。
詳細については、次のとおりです。
最初のアクティビティ (親) は、次のインテントを起動します。
Intent intent = new Intent();
intent.setAction("xx.xx.xxxxx");
intent.putExtra("Data1", data1);
intent.putExtra("Data2", data2);
...
startActivityForResult(intent,MANAGE_CODE);
OnActivityResult() メソッドは
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch (requestCode) {
case MANAGE_CODE:
switch (resultCode) {
case 0:
...
break;
}
break;
}
}
子アクティビティはこれを実行します:
Intent caller = getIntent();
if ( caller.getAction().equals("xx.xx.xxxxx") ) {
Intent intent = new Intent();
intent.putExtra("data", "12345");
// Set result
getParent().setResult(0, intent);
}
実装の詳細を省略しました...子アクティビティを閉じないと(たとえば、finish()メソッドを使用して)setResult()コールが機能することがわかりません。