Questions tagged «foreground»


26
Context.startForegroundService()然后未调用Service.startForeground()
我Service在Android O OS上使用Class。 我计划Service在后台使用。 在Android文档指出, 如果您的应用程序的目标是API级别26或更高级别,则除非应用程序本身位于前台,否则系统会限制使用或创建后台服务。如果应用程序需要创建前台服务,则应调用startForegroundService()。 如果使用startForegroundService(),则Service引发以下错误。 Context.startForegroundService() did not then call Service.startForeground() 这怎么了

5
如何在Android中更新前台服务的通知文本?
我在Android中设置了前台服务。我想更新通知文字。我正在创建如下所示的服务。 如何更新此前台服务中设置的通知文本?更新通知的最佳做法是什么?任何示例代码将不胜感激。 public class NotificationService extends Service { private static final int ONGOING_NOTIFICATION = 1; private Notification notification; @Override public void onCreate() { super.onCreate(); this.notification = new Notification(R.drawable.statusbar, getText(R.string.app_name), System.currentTimeMillis()); Intent notificationIntent = new Intent(this, AbList.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); this.notification.setLatestEventInfo(this, getText(R.string.app_name), "Update This Text", pendingIntent); startForeground(ONGOING_NOTIFICATION, …

14
如何不显示通知就启动startForeground()?
我想创建一个服务并使它在前台运行。 大多数示例代码都带有通知。但我不想显示任何通知。那可能吗? 能给我一些例子吗?还有其他选择吗? 我的应用程序服务正在执行mediaplayer。如何使系统不会杀死我的服务,但应用程序会杀死它本身(例如通过按钮暂停或停止音乐)。

2
前台服务被Android杀死
更新:我还没有找到解决该问题的真正方法。我想出的是一种在连接断开时自动重新连接到以前的蓝牙设备的方法。这不是理想的方法,但是看起来效果很好。我很乐意听到关于此的更多建议。 我遇到的问题与这个问题大致相同:按住唤醒锁并调用包括设备(Asus Transformer)的startForeground之后,服务被终止,服务停止之前的时间(30-45分钟),使用唤醒锁,startForeground()的使用以及在屏幕关闭时打开应用程序都不会发生此问题。 我的应用程序维持与另一台设备的蓝牙连接,并在两者之间发送数据,因此它必须始终处于活动状态以侦听数据。用户可以随意启动和停止服务,实际上,这是我实现的启动或停止服务的唯一方式。服务重新启动后,与其他设备的蓝牙连接将丢失。 根据链接的问题的答案,startForeground()“减少了服务被杀死的可能性,但并没有阻止它”。我知道情况确实如此,但是我已经看到许多其他应用程序的示例,这些应用程序都没有此问题(例如Tasker)。 如果没有运行该服务直到用户停止该服务的能力,我的应用程序的实用性将大大降低。有什么办法可以避免这种情况??? 每当服务停止时,我都会在logcat中看到此消息: ActivityManager: No longer want com.howettl.textab (pid 32321): hidden #16 WindowManager: WIN DEATH: Window{40e2d968 com.howettl.textab/com.howettl.textab.TexTab paused=false ActivityManager: Scheduling restart of crashed service com.howettl.textab/.TexTabService in 5000ms 编辑:我还应该注意,这似乎不在我连接到的其他设备上发生:运行Cyanogen的HTC Legend 编辑:这是输出adb shell dumpsys activity services: * ServiceRecord{40f632e8 com.howettl.textab/.TexTabService} intent={cmp=com.howettl.textab/.TexTabService} packageName=com.howettl.textab processName=com.howettl.textab baseDir=/data/app/com.howettl.textab-1.apk resDir=/data/app/com.howettl.textab-1.apk dataDir=/data/data/com.howettl.textab app=ProcessRecord{40bb0098 2995:com.howettl.textab/10104} isForeground=true …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.