【问题标题】:Android - How to restart activity ( or bring it to front ) on pauseAndroid - 如何在暂停时重新启动活动(或将其置于前面)
【发布时间】:2012-10-14 21:54:36
【问题描述】:

我正在为平板电脑 (android 4.0.3) 开发一个应用程序,该应用程序必须在公共场所(餐厅、酒吧等)使用。

我需要做的是阻止用户退出应用程序,因此我覆盖方法onPause 以在应用程序进入后台时重新启动活动(例如:按下主页)

protected void onPause() {
    super.onPause();
    Intent intent = new Intent(this, RivendesiActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.setAction(Intent.ACTION_MAIN);
    startActivity(intent);
}

我的问题是,当我单击主页按钮时,应用程序会重新启动,但仅在 3-4 秒后才会重新启动。所以用户有时间单击应用程序按钮-> 设置,如果有的话。我不知道为什么。我的应用程序没有重新启动。我该如何解决?谢谢!

【问题讨论】:

  • 我也有同样的问题。你找到解决办法了吗?

标签: android android-intent onpause


【解决方案1】:

您只需要通过将以下内容添加到您的活动来禁用主页键效果。

@override
public void onAttachedToWindow(){  
   this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);     
   super.onAttachedToWindow();  
}

附:不建议使用这种方法,它违反了活动的正常行为。所以,当你认真的时候使用它:)

【讨论】:

  • 10-14 22:27:26.896: E/AndroidRuntime(1851): java.lang.IllegalArgumentException: 添加窗口后无法更改窗口类型。
  • 太长了..需要看什么部分?
  • 你用的是哪个安卓版本?
  • 4.0.. android:minSdkVersion="14"
  • ahaaan,不幸的是,这种技术在 ICS 及更高版本中不再起作用。抱歉,我没有注意到您在问题中提到了这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-31
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 2013-03-20
相关资源
最近更新 更多