如何从Android中的另一个Activity调用一个活动的方法?

时间:2012-08-30 07:49:00

标签: android android-activity

我有一个活动'A',它扩展了调用服务的mapActivity,以及一个扩展服务的服务'B'。我正在服务'B'获得纬度和经度。现在我需要调用Activity'A'中的方法并传递纬度和经度。在那个方法中,我有代码来显示位置。提前谢谢..

8 个答案:

答案 0 :(得分:1)

请参阅http://developer.android.com/reference/android/app/Activity.html#StartingActivities

  • A活动应使用startActivityForResult()方法
  • 启动B活动
  • B活动应在执行setResult()
  • 之前将数据设置为finish()返回(纬度和经度)
  • A活动必须覆盖onActivityResult()才能从B
  • 检索数据

答案 1 :(得分:0)

您正在使用一个活动和一个服务,而不是两个活动,并且您希望活动和服务之间进行交互。为此,请使用BoundService。 请参阅以下链接以获取更多参考:

http://developer.android.com/guide/components/bound-services.html

或者,您可以在“活动”中定义“信使”,并可以将消息从服​​务发送到活动。

答案 2 :(得分:0)

您必须更新某项服务的活动。扩展活动的类是activity.So在您的情况下B是Service

尝试使用runnablehandler更新服务

中的活动

Check here

答案 3 :(得分:0)

使用意图将一个调用到其他

   Intent i= new Intent (this,B.class);
   startActivity(i);

这是一个轻松的电话

答案 4 :(得分:0)

意图用于在活动之间传达短消息。使用Intent并添加额外的东西来启动服务的活动你需要添加额外的标志来启动服务的活动。

这里是参考

http://developer.android.com/reference/android/content/Intent.html

答案 5 :(得分:0)

创建该类对象并调用特定方法

答案 6 :(得分:0)

使用意图是最简单也是最好的方法。在Activity A中有这个代码来创建intent:

Intent intent=new intent(this,B.class);

/ 需要发送到活动B的数据处理后 /

/ 如果您想传递数据 /

intent.putExtra("Data", data);
  startActivity(i);

在活动B中将其收录为:

       Intent intent = getIntent();

 String text = intent.getStringExtra("Data");

答案 7 :(得分:0)

您不应该创建活动类的实例。这是错误的。 Activity具有ui,生命周期和活动由startActivity(intent)

启动

您可以使用startActivityForResult,也可以使用意图将值从一个活动传递到另一个活动,并执行所需操作。但这取决于你打算在方法中做些什么。

我是否知道具体要求,为什么需要调用另一种活动方法?