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

后台服务

林丁雷
2023-03-14

我想创建一个小应用程序,在后台记录数据。所以我试着用绑定服务。这很好,但如果我关闭应用程序,服务也会停止。< br >那么,我的问题是:使用即时服务来执行这一操作是不是一个好方法?当应用程序关闭时,我如何保持服务在后台运行(我也想在启动后启动它)?

共有2个答案

伯彦君
2023-03-14

查看系统应用程序上的此链接。

如果应用程序不是系统应用程序,Android可以在低内存情况下破坏进程,这包括服务。否则,请检查应用程序服务的startForeground()。

段干河
2023-03-14

您可以尝试以下操作:

public class ServiceBackground extends Service {


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

    @Override
    public void onCreate() {

        final ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor( 1 ); // Number of threads keep in the pool

        executor.scheduleAtFixedRate( new Runnable() {

            @Override
            public void run() {

                Log.i( "LocalService", "service running" );

                if (stopCondition == true ) {
                    executor.shutdownNow();
                }

            }
        }, 1, 1000, TimeUnit.MILLISECONDS );
        super.onCreate();
    }

    @Override
    public int onStartCommand( final Intent intent, final int flags, final int startId ) {
        return Service.START_STICKY;
    }

}

记住在AndroidManifest.xml中注册服务

有关定时线程池检测器的详细信息

正在启动服务

public class MainActivity extends Activity {

    @Override
    protected void onCreate( final Bundle savedInstanceState ) {
        super.onCreate( savedInstanceState );
        this.setContentView( R.layout.activity_main );

        this.startService( new Intent( this, ServiceBackground.class ) );

    }

}
 类似资料:
  • 7.1 ABP后台服务 - 后台作业和后台工人 7.1.1 简介 ABP提供了后台作业和后台工人,来执行应用程序中的后台线程的某些任务。 7.1.2 后台作业 由于各种各样的原因,你需要后台作业以队列和持久化的方式来排队执行某些任务。 例如: 用户等待执行一个长时任务。例如:某个用户按下了报表按钮生成一个需要长时间等待的报表。你添加这个工作到队列中,当报表生成完毕后,发送报表结果到该用户的邮箱。

  • 链接 后台作业和后台工人 集成Hangfire 集成Quartz

  • 问题内容: 我正在尝试使用后台服务拍摄屏幕截图。该服务就像一个Facebook聊天头,但是我希望它在单击时拍摄屏幕截图。 预览图片 我已经开发了一些代码,但是没有用。我尝试过的最后一个是: 但是正在将屏幕截图带到我的按钮而不是屏幕上。 我知道问题在这里: 但我不知道如何解决。谁能帮我? 我实际上正在使用Android Studio 2.2.2和Android 4.0或更高版本。 问题答案: 对于L

  • 如何在Android奥利奥继续后台服务而不显示通知点?我使用通知继续我的后台服务,但我不想显示运行服务的通知。

  • 尽管在最初我也想去写一篇文章来说说后台的发展史,后来想了想还是让我们把它划分成不同的几部分。以便于我们可以更好的说说这些内容,不过相信这是一个好的开始。 RESTful与服务化 设计RESTful API REST从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。获得这些表征致使这些应用程序转变了其状态。随着不断获取资源的表征,客户端应用不断地在转

  • 问题内容: 如何在不显示通知点的情况下继续在Android Oreo中进行后台服务?我使用通知继续后台服务,但我不想显示正在运行的服务的通知。 问题答案: 如果您可以在此处的某处正确阅读 Android Oreo 8.0 文档,则可能未在此处发布此问题。 步骤1: 确保您将服务作为前台启动,如以下代码所示 步骤2: 使用通知显示您的服务正在运行。在的方法中的代码下面添加一行。 步骤3:在服务停止或