Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 另一种方法是;始终运行应用程序“;?_Android_Operating System_Android Service - Fatal编程技术网

Android 另一种方法是;始终运行应用程序“;?

Android 另一种方法是;始终运行应用程序“;?,android,operating-system,android-service,Android,Operating System,Android Service,只是注意到应用程序并没有前台服务,但从未被Android关闭过 SYSTEM\u ALERT\u窗口是否使应用程序不可关闭?有两种方法 方法#1 public boolean onKeyDown(int keycode, KeyEvent event) { if (keycode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(true); } return super.onKeyDown(keycode, event

只是注意到应用程序并没有前台服务,但从未被Android关闭过


SYSTEM\u ALERT\u窗口是否使应用程序不可关闭?

有两种方法

方法#1

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

删除密钥侦听器,或者在返回密钥时返回true

您只需执行以下操作即可收回密钥(请确保不要调用super)


服务
可以使您的应用程序运行读取此服务不保证应用程序将一直运行。此外,使用前台服务需要通知,但Easy Controller Control Center不提供任何通知。它只是一直在运行。可能只是让应用程序保持运行,而不调用Activity.finish();同时也要使其成为singleTaskAZ,问题在于应用程序不使用前台服务(在工具栏上没有通知它),并且仍然可以永远工作。
@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);
}