你如何让一个活动表现不同(调用不同的方法),这取决于它是从哪里启动的?
我有一个活动,当用户选择一首歌曲或用户按下“正在播放”按钮时启动。
理想情况下,如果从活动 a 中选择了一首歌曲,那么活动 b 将绑定到该服务,并告诉该服务播放所选歌曲。
如果从活动 a 中选择了“正在播放”按钮,则活动 b 会绑定到服务,但不会告诉它开始播放歌曲。
我已经收集到这可以通过意图、广播或只是一堆 if 语句以某种方式实现,但我不确定如何最好地实现这一点。谢谢你的帮助。
你如何让一个活动表现不同(调用不同的方法),这取决于它是从哪里启动的?
我有一个活动,当用户选择一首歌曲或用户按下“正在播放”按钮时启动。
理想情况下,如果从活动 a 中选择了一首歌曲,那么活动 b 将绑定到该服务,并告诉该服务播放所选歌曲。
如果从活动 a 中选择了“正在播放”按钮,则活动 b 会绑定到服务,但不会告诉它开始播放歌曲。
我已经收集到这可以通过意图、广播或只是一堆 if 语句以某种方式实现,但我不确定如何最好地实现这一点。谢谢你的帮助。
您可以添加一个标志(或任何其他额外的详细信息)以指示您是否希望在发送到活动 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");
您可以将启动器组件名称(或其他唯一的特定字符串)添加为启动 Activity 的意图的附加内容。然后在您的 Activity 中获取它的意图(使用 getIntent() )并检索它的附加内容。然后使用 Switch-Case 来决定什么会去做。