【问题标题】:Another way to make "always running application"?另一种制作“始终运行的应用程序”的方法?
【发布时间】:2013-09-19 16:30:29
【问题描述】:

刚刚注意到Easy Controller-Control Center应用没有前台服务,但从未被Android关闭。

SYSTEM_ALERT_WINDOW 是否使应用程序不可关闭?

【问题讨论】:

  • Services 可以让你的应用程序运行读取这个developer.android.com/guide/components/services.html
  • 服务不保证应用程序会一直运行。此外,使用前台服务需要通知,但 Easy Controller-Control Center 不提供任何通知。它一直在运行。
  • 可能你只是保持你的应用程序运行而不调用 Activity.finish();并使其成为 singleTask

标签: android operating-system android-service


【解决方案1】:

有两种方法

方法#1

public boolean onKeyDown(int keycode, KeyEvent event) {
    if (keycode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
    }
    return super.onKeyDown(keycode, event);
}

方法#2

删除你的关键监听器或当你有 KEY_BACK 时返回 true

您只需要以下内容来获取返回键(确保不要调用 super)

@Override
public void onBackPressed() {
   Log.d("CDA", "onBackPressed Called");
   Intent setIntent = new Intent(Intent.ACTION_MAIN);
   setIntent.addCategory(Intent.CATEGORY_HOME);
   setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   startActivity(setIntent);
}

【讨论】:

  • AZ,问题是关于不使用前台服务的应用程序(没有通知它栏)并且仍然可以永远工作。
猜你喜欢
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 2017-04-04
  • 1970-01-01
  • 2022-12-05
  • 2023-03-30
  • 1970-01-01
相关资源
最近更新 更多