0
Activity_A:

{
   //calling Activity B where i find the user current location lat and lng
   Intent intent = new Intent(Activity_A.this, Activity_B.class);
   startActivity(intent);
}

Activity_B
{
   //after getting user lat and lng, use them in Activity_C to show the initial marker position
   Intent intent = new Intent(Activity_B.this, Activity_C.class);
   startActivity(intent);
   //i don't this Activity_B to show up on back press in Activity_C hence finish(), anyways this Activity_B has no layout
   finish();
}

Activity_C:

{
   //Show a map with marker at position using lat, lng values from Activity_B, allow user to drag the marker and get the new lat, lng. and then finish this Activity to go to Activity_A
   finish();
}

我希望这个 Activity_C 在没有任何共享首选项或全局变量的情况下将新 lat、lng 的值发送回 ACtivity_A,我的意思是使用startActivityForResultonACtivityResult

4

2 回答 2

1

使用setResult里面的活动A获取里面的所有数据OnActivityResult。但是从 A 到 B 开始活动,您需要使用startActivityForResult结果代码。否则,您可以broadcast receivers独立于您可以在任何活动类中发送和接收的所有活动来使用。

于 2012-09-06T07:52:02.320 回答
0
You can try chaining the activities like this::


Activity_A:

{
   //calling Activity B where i find the user current location lat and lng
   Intent intent = new Intent(Activity_A.this, Activity_B.class);
*****startActivityForResult******

   startActivity(intent);
}

Activity_B
{
   //after getting user lat and lng, use them in Activity_C to show the initial marker position
   Intent intent = new Intent(Activity_B.this, Activity_C.class);
   startActivity(intent);
   //i don't this Activity_B to show up on back press in Activity_C hence finish(), anyways this Activity_B has no layout
*****startActivityForResult******
   finish();
}

Activity_C:

{
   //Show a map with marker at position using lat, lng values from Activity_B, allow user to drag the marker and get the new lat, lng. and then finish this Activity to go to Activity_A
   finish();
}
于 2012-09-06T07:52:23.033 回答