当前位置:  开发笔记 > 编程语言 > 正文

如何使Android应用程序始终在后台运行?

如何解决《如何使Android应用程序始终在后台运行?》经验,为你挑选了1个好方法。

我正在使用Android设备.当我打开设置>应用>运行,对一个选项左上屏幕上看到:(1)运行的进程(2)缓存的后台进程.我想要运行的应用程序(24×7)不幸地列在(2)缓存的后台进程中,我希望它/它们列在(1)运行进程下(如果有可能) ).可以吗?或者简而言之,如何使Android应用程序始终在后台运行?

我希望我转达了这个问题:-)



1> sembozdemir..:

您必须在Application类中启动服务才能始终运行它.如果您这样做,您的服务将始终运行.即使用户从任务管理器终止您的应用程序或强制停止您的应用程序,它也会再次开始运行.

创建服务:

public class YourService extends Service {

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // do your jobs here
        return super.onStartCommand(intent, flags, startId);
    }
}

创建一个Application类并启动您的服务:

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        startService(new Intent(this, YourService.class));
    }
}

不要忘记在AndroidManifest.xml的"application"标签中添加它

android:name=".App"

UPDATE

在Android Oreo之后,Google引入了一些背景限制.因此,上述解决方案可能无法正常工作.当用户从任务管理器中杀死您的应用时,Android系统也会终止您的服务.如果您想运行一个在后台始终存在的服务.您必须运行前台服务并显示正在进行的通知.因此,请按以下方式编辑您的服务.



右键单击项目浏览器中的**app**(在Android Studio的左侧).然后,**新>>服务>>服务**
Android studio是一个IDE(集成开发环境).您需要使用它(或Eclipse IDE)来编写Android应用程序.它是一个在桌面(Windows,Mac或Linux)上运行的程序."App"是项目文件中的一个文件夹,可以在左侧的Project Explorer中找到.我清理了一下吗?
您的代码使我朝着正确的方向发展-最终找到了解决方案。**谢了哥们!!** @ sembozdemir **
@sembozdemir我已经尝试过Android 8.1的解决方案.这是行不通的.也就是说,一旦我从"设置"应用程序"强制停止"我的应用程序,该应用程序就不会自动重启,我仍然需要手动重启应用程序.您使用哪个版本的Android测试过您的解决方案?我的理解是,一旦应用程序停止,它的服务也应该停止,否则这是一个设计缺陷.
推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有