1

你如何让一个活动表现不同(调用不同的方法),这取决于它是从哪里启动的?

我有一个活动,当用户选择一首歌曲或用户按下“正在播放”按钮时启动。

理想情况下,如果从活动 a 中选择了一首歌曲,那么活动 b 将绑定到该服务,并告诉该服务播放所选歌曲。

如果从活动 a 中选择了“正在播放”按钮,则活动 b 会绑定到服务,但不会告诉它开始播放歌曲。

我已经收集到这可以通过意图、广播或只是一堆 if 语句以某种方式实现,但我不确定如何最好地实现这一点。谢谢你的帮助。

4

2 回答 2

2

您可以添加一个标志(或任何其他额外的详细信息)以指示您是否希望在发送到活动 B 的意图中开始播放歌曲。

所以在活动 A 中:

Intent startBIntent = new Intent(this, ActivityB.class);
Bundle extraDetails = new Bundle();
extraDetails.putBoolean("isPlaySong", true);
startBIntent.putExtras(extraDetails);
startActivity(startBIntent);

然后在活动 B 的 onCreate() 中,使用以下命令检索详细信息:

Boolean isPlaySong = getIntent().getExtras().getBoolean("isPlaySong");
于 2012-06-25T06:18:36.993 回答
2

您可以将启动器组件名称(或其他唯一的特定字符串)添加为启动 Activity 的意图的附加内容。然后在您的 Activity 中获取它的意图(使用 getIntent() )并检索它的附加内容。然后使用 Switch-Case 来决定什么会去做。

于 2012-06-25T06:11:25.260 回答