【问题标题】:Background service after closing activity in Android在Android中关闭活动后的后台服务
【发布时间】:2017-09-04 09:58:09
【问题描述】:

我尝试创建应用程序,检查一些远程数据库的新闻和活动。当应用程序运行时,它工作正常,应用程序检查,显示通知等。但是如果用户关闭应用程序,一切都会停止。是否可以在应用程序中创建后台服务,该服务在应用程序关闭后工作(例如,用于发送本地通知)?如果可能的话,我该怎么办?

附:我知道 Firebase 和 Google Cloud,但我想创建独立的应用程序。

【问题讨论】:

  • 您是说您根本找不到任何相关信息吗?不在已发布的 100 个问题中?
  • 没错。与我无关。我发现的大部分信息都是关于 Firebase 的。这就是我写 P.S. 的原因

标签: android service background-process


【解决方案1】:
As @Flo We said Service is the only option you can use

public class BackGroundService extends Service{
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.e("Service","Started");

//Write your code here to run in background


        return super.onStartCommand(intent, flags, startId);
    }

}

使用 Intent 启动服务,不要在 onDestroy 上停止服务,它将继续在后台运行

【讨论】:

    【解决方案2】:

    Services 几乎是您唯一的选择。但是你永远不知道你的 Service 什么时候被杀掉,而且随着 Android 的发展,它会变得越来越严格。

    【讨论】:

    • 所以没有选项可以使客户端远程数据库“扫描器”?
    • 我的意思是,这将是要走的路。启动服务并针对您的远程数据库进行轮询。但您需要注意,Android 系统或用户可以随时停止后台进程。
    • 您甚至可以在系统启动时触发服务。我只是不确定 Marshmallow + 是否仍然可以这样做
    猜你喜欢
    • 2020-07-07
    • 1970-01-01
    • 2018-06-01
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多