如何通过按下按钮并因此启动意图,或者如果用户选择导航回来,我是否知道活动是否已进入onResume?
编辑:
基本上,活动A正在播放一首歌
您可以选择要在活动B中播放的新歌曲,该歌曲将意图发送回活动A以开始新歌
但此刻如果"返回"从活动B中按下,我需要继续播放该歌曲,而不是它在重启的那一刻,因为它在onResume()之前运行了意图;
答案 0 :(得分:1)
当用户从Activity
导航到另一个Activity
时,您可以使用startActivityForResult
并在新setResult
中设置参数,例如按下哪个按钮Activity
。
你不能做的事情总是知道用户是如何进入onResume
的,因为事情发生在您的控制范围内。例如,电话可以为应用程序提供背景,一旦完成,它将返回到前景。
如果您有间接操作(例如活动A),您还可以使用onNewIntent
来帮助从未启动您要监控的Activity
的其他Activity
导航 - >活动B - >活动C - >活动A)。
对于PendingIntents
,您还可以包含有关启动应用/ Activity
的数据。
编辑:
如果您只是想将数据放入Intent
,那么当Activity
启动时,您可以使用以下代码:
Intent intent = new Intent();
intent.setClass(this, MyActivity.class);
intent.putExtra("BUTTON_ID", "button_a");
startActivity(intent);
但是,请记住,如果onNewIntent
已在运行,Activity
已发送至Intent
至"启动&{34},则需要使用Activity
#34;它。这似乎是你遇到的核心问题。但是,您还需要重置"使用后的意图数据 - 否则,如果Activity
在没有新的Intent
的情况下恢复,那么您仍然会拥有旧的Intent
数据。
答案 1 :(得分:0)
您可以覆盖Project
以查看用户是否按了“返回”按钮。但是,用户仍然可以按Home / Recents按钮将活动发送到后台。