当前位置: 首页 > 知识库问答 >
问题:

无限期运行服务

胡俊贤
2023-03-14

我正在迁移我的Android应用程序,目标是Android奥利奥。我正在运行一个服务,它应该无限期运行,以执行一个特定的任务。

public class MyService extends Service {

    public MyService() {
    }

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

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

    private void DoSomething() {
     //Some Code keep watching something.       
    }


    @Override
    public int onStartCommand (Intent intent, int flags, int startId) {

        DoSomething();

        return  Service.START_STICKY;
    }


}
startService(new Intent(getBaseContext(), MyService.class));

共有1个答案

吉毅
2023-03-14

在Android奥利奥+中,后台服务受到了严格限制。要运行代码,有两种选择:使用前台服务或使用JobScheduler/WorkManager API。

但是它们都不会无限期地工作,WorkManager只用于可推迟的任务。这是我们无能为力的事情。

 类似资料:
  • 问题内容: 我想要一个可以在后台运行直到停止的服务,即使启动该服务的组件已损坏并且也允许绑定到活动。怎么可能? 根据android绑定服务文档-有三种创建绑定服务的方法 扩展Binder类。 使用Messenger。 使用AIDL。 我已经使用Messenger(第二种方法)创建了绑定服务。活动通过其onStart()方法绑定到服务,并在其onStop()方法中取消绑定。两种消息传递方式(在活动和

  • 问题内容: 我最近开始尝试使用Python进行Web开发。到目前为止,我在将Apache与mod_wsgi结合使用以及针对python 2.7的Django Web框架方面取得了一些成功。但是,我遇到了一些问题,这些问题导致流程不断运行,更新信息等。 我编写了一个脚本,称为“ daemonManager.py”,该脚本可以启动和停止所有或单个python更新循环(我应该将它们称为Daemon吗?)

  • 我开发了windows服务,用于每隔两分钟检查一些服务是否运行。如果服务未运行,则自动启动它们。 这是我的代码 这是我的app.config档案 错误:“本地计算机上的Windows Search服务已启动,然后停止。如果其他服务或程序未使用某些服务,则会自动停止。”

  • 我尝试在3台机器上作为集群运行kafka,我已经在所有机器上配置了Zookeeper。现在我尝试在第一台机器上启动kafka服务器,使用 它给出的错误是 kafka安装在路径 /tmp/kafka/kafka_2.11-1.1.0/中,kafka日志在路径 /var/lib/kafka中。我已经以root用户身份登录。但我仍然收到这些错误。我检查了kafka目录bin中. sh文件的权限。所有这些

  • 问题内容: 我的存储库每5分钟就会收到一次轮询。 但是我发现,如果jenkinsfile被完全破坏,则管道将失败,并显示“此阶段没有步骤”。 然后每5分钟它将重试一次并保持失败。 我该如何防范呢?我可以在某个地方设置阈值,以便这种情况不会永远消失吗? 问题答案: 如果使用的是scm轮询,则只有在发生更改时才应构建。听起来您可能正在按计划进行计划。这是声明性管道中每种语法的不同。 或者您可以做的是从

  • 我正在尝试安装SonarQube:我遵循了以下步骤: 设置SOnarQube Tuto:这里 总结一下: > 下载声纳并将其移动到 将这些coonfig步骤添加到: sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql:/localhost:3306/sonar?UseUnicode=true&C