116得票6回答
Intent和PendingIntent的区别

我阅读了一些文章,所有文章似乎都在做同一件事情,我想知道下面两种方式启动服务的区别:Intent intent = new Intent(this, HelloService.class); startService(intent); 或更低:Calendar cal = Calendar.g...

110得票16回答
如何在不显示通知的情况下启动 startForeground()?

我想创建一个服务并使它在前台运行。 大多数示例代码都带有通知,但我不想显示任何通知。这可能吗? 你能给我一些例子吗?还有其他替代方案吗? 我的应用服务正在执行播放器功能。如何让系统不杀死我的服务,除非应用程序自己终止它(例如通过按钮暂停或停止音乐)?

106得票2回答
在onStartCommand中,传递的Intent为空的原因

除了系统通过像START_STICKY这样的标志重新启动服务之外,在传递给onStartCommand(Intent, int, int)的Intent为空的其他原因吗? 另外,当系统重新启动服务时,Intent.getAction()方法有时会返回NULL...但Intent不为NULL,...

105得票4回答
在不使用主Activity的情况下启动Android应用程序并在启动应用程序时启动服务

我在我的应用程序中有以下场景。我的应用程序没有 UI,而是有一个服务,在启动时会持续运行。 我如何在没有主 Activity 的情况下配置清单文件?我能否在没有任何 Activity 的情况下启动我的应用程序?当启动我的应用程序时,我的服务应该启动。这个可能吗? 我不想创建一个半透明 Ac...

92得票2回答
服务中的广播接收器

我正在尝试在一个Service内启动一个BroadcastReceiver。我的目标是让后台运行的service收集到来的短信和记录来电。我觉得最好的方法是使用一个包含广播接收器的service来实现这一点。 我该如何做?我已经有了正在运行的服务。

91得票6回答
在新的Android推荐架构中,BoundService + LiveData + ViewModel最佳实践。

我一直在思考在新的Android建议架构中应该把Android服务放在哪里,有很多可能的解决方案,但我无法确定哪种方法是最好的。 我进行了大量研究,但没有找到任何有用的指导或教程。唯一关于在我的应用程序架构中放置服务的提示来自@JoseAlcerreca的Medium post。 引用: ...

86得票3回答
安卓。当应用关闭时,WorkManager是否在运行?

我想安排夜间数据库更新。因此,我使用新的Android WorkManager。我的理解是,一旦安排完成,它将始终在后台独立于应用程序的生命周期运行。 这正确吗?我的第一次测试显示,只有当应用程序正在运行时才会执行工作。val locationWork = PeriodicWorkReques...

83得票3回答
安卓广播接收器 vs 服务

我正在努力阐明安卓中广播接收器和服务之间的区别。 我理解一个活动可以通过使用意图调用startService来启动服务。 广播接收器可以在代码或清单中进行注册,并可通过sendBroadcast进行调用。 什么情况下该使用其中之一? 我了解多个广播接收器可以监听相同的意图,而这并不适用...

81得票8回答
致命的Android 12错误:异常:由于mAllowStartForeground为false,无法使用startForegroundService()。

我注意到一个例外情况(Firebase Crashlytics),在Pixel 5和Pixel 4a(均运行Android 12)上出现,其他设备没有出现过,每个设备只有一次。这是什么意思?Android 11和12对于前台服务的工作有相同的规定,但是在Android 11中没有问题。这是Pi...

80得票8回答
Android 9.0: 在 onResume() 后,不允许启动服务:应用处于后台。

我有一个音乐播放器,它试图在Activity的onResume()中启动一个Service。出于简洁起见,我删除了一些行,但代码实际上是:@Override protected void onResume() { super.onResume(); startService(...