【问题标题】:Fire back event twice in Android在Android中两次触发事件
【发布时间】:2013-07-24 09:05:25
【问题描述】:

我打算开发第三方地图应用。实际上我需要导航活动,但为了启动导航,地图应用程序需要先启动一个主地图活动。所以当我退出导航活动时,它会回到地图。我想在导航活动中按下后退按钮时触发两次后退事件。

如何做到这一点?我只能在自己的代码中做一些事情,地图应用是第三方应用。

【问题讨论】:

  • 这可能行不通,但是您是否尝试在覆盖的 onBackPressed 中调用 super.onBackPressed(); 两次? :)

标签: android android-activity back android-event


【解决方案1】:

也许可以这样尝试,但我不知道是否有更好的方法来做到这一点..

@Override
public void onBackPressed()
{
    setResult(42);
    finish();
    ....

和:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (resultCode == 42)
    {
        finish();
....

【讨论】:

  • 您可以在 Intent 中添加一个标志: i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);所以你的第二个活动被忽略了,因为它不在历史堆栈中。但是您不能将结果发送回您的第一个活动..您必须在第 3 方应用程序中添加一个标志..(i.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);)
猜你喜欢
  • 2014-04-07
  • 1970-01-01
  • 2013-03-28
  • 2013-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多