如何让活动根据启动位置的不同而有不同的行为(调用不同的方法)?
我有一个活动,当用户选择一首歌时,或者当用户按下“正在播放”按钮时,它会启动。
理想情况下,如果从活动a中选择了一首歌曲,则活动b将绑定到该服务,并告诉该服务播放所选歌曲。
如果从活动a中选择了“正在播放”按钮,则活动B将绑定到该服务,但不会通知它开始播放歌曲。
我认为这可以通过意图、广播或一堆if语句来实现,但我不确定如何最好地实现这一点。谢谢你的帮助。
发布于 2012-06-25 14:18:37
您可以添加一个标志(或任何其他额外的详细信息),以指示您是否希望在意图发送到活动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-25 14:11:25
您可以将启动器组件名称(或其他唯一的特定字符串)作为额外的内容添加到 intent ,它在您的活动中启动Activity.Then,获取它的intent(使用getIntent() ),并检索它的extras.Then,使用Switch-Case来决定要做什么。
https://stackoverflow.com/questions/11184086
复制相似问题