如果我按下“全部清除”按钮,为啥我的前台服务会停止
Posted
技术标签:
【中文标题】如果我按下“全部清除”按钮,为啥我的前台服务会停止【英文标题】:Why my foreGround service stop if i press button "Clear all"如果我按下“全部清除”按钮,为什么我的前台服务会停止 【发布时间】:2021-04-15 09:31:16 【问题描述】:我在清单中的许可
使用权限 android:name="android.permission.FOREGROUND_SERVICE"
服务是
android:stopWithTask="false"
onStartCommand 返回 START_STICKY 并创建此代码的通知
private void startForegroundService()
Intent notificationIntent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); Notification notification = null; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) notification = new Notification.Builder(this, "SEX") .setContentTitle("getText(R.string.notification_title)") .setContentText("getText(R.string.notification_message)") .setSmallIcon(R.drawable.ic_launcher_background) .setContentIntent(pendingIntent) .setTicker("ssss") .build(); else notification = new Notification.Builder(this) .setContentTitle("getText(R.string.notification_title)") .setContentText("getText(R.string.notification_message)") .setSmallIcon(R.drawable.ic_launcher_background) .setContentIntent(pendingIntent) .setTicker("ssss") .build(); startForeground(423, notification);
但是,如果我按下“全部清除”按钮,我的服务就死了,没有调用 onTaskRemoved
【问题讨论】:
【参考方案1】:您需要的是一个ongoing notification,将其设置在您的Notification.Builder
对象上:
notification = ...
...
.setOngoing(true)
.build();
【讨论】:
它帮不了我以上是关于如果我按下“全部清除”按钮,为啥我的前台服务会停止的主要内容,如果未能解决你的问题,请参考以下文章