Android13在屏幕关闭后2小时杀死我的前台服务。
创始人
2024-10-01 11:01:03
0

这可能是 Android 13 中的电池优化所导致的。可以尝试在后台服务的 onStartCommand() 方法中添加以下代码:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        String CHANNEL_ID = "my_channel_01";
        NotificationChannel channel = new NotificationChannel(CHANNEL_ID,
                "Channel human readable title",
                NotificationManager.IMPORTANCE_DEFAULT);

        ((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(channel);

        Notification notification = new NotificationCompat.Builder(this, CHANNEL_ID)
                .setContentTitle("Title")
                .setContentText("Content")
                .build();

        startForeground(1, notification);
    } else {
        startForeground(1, new Notification());
    }

    // 在这里添加你的服务代码

    return START_STICKY;
}

这段代码会在 API 等级大于等于 26 的设备上创建一个前台服务通知,并将服务置于前台,防止服务被系统杀死。注意在 Android 8.0(API 等级 26)及以上的设备上,必须创建通知渠道。

如果你的服务已经在前台运行,可以在处理屏幕关闭事件时更新服务的通知,这样系统就不会将其杀死。可以使用以下代码:

// 在处理屏幕关闭事件的方法中添加这些代码
Notification notification = createNotification();
startForeground(NOTIFICATION_ID, notification);

同时,在你的 Manifest 文件中添加以下权限:


这应该可以解决问题,让你的服务在 Android 13 设备上保持运行。

相关内容

热门资讯

反观!pokemomo辅助软件... 反观!pokemomo辅助软件,wpk俱乐部是做什么的,一贯是真的有挂(有挂分析)一、wpk俱乐部是...
必备科技!pokermaste... 必备科技!pokermaster破解版(辅助挂)切实真的是有挂(有挂方针辅助方法)1、上手简单,内置...
专业讨论!HH平台挂(辅助挂)... 专业讨论!HH平台挂(辅助挂)总是存在有挂(存在有挂辅助软件)1、下载好脚本下载之后点击打开,先需要...
教程辅助!wepoker辅助透... 教程辅助!wepoker辅助透视软件(辅助挂)果然是有挂(存在有挂辅助插件)1、免费辅助多个强度级别...
一分钟了解!wepoker免费... 一分钟了解!wepoker免费辅助器(辅助挂)果然存在有挂(竟然有挂辅助技巧)1、该软件可以轻松地帮...
总算了解!wepoker底牌透... 总算了解!wepoker底牌透视脚本(辅助挂)竟然是有挂(确实有挂辅助攻略)1、辅助软件下载优化,底...
让我来分享经验!wpk辅助哪里... 让我来分享经验!wpk辅助哪里买(辅助挂)一贯存在有挂(证实有挂辅助技巧)1、模拟器是什么优化,俱乐...
总算明白!wejoker开挂(... 总算明白!wejoker开挂(辅助挂)真是是有挂(有挂详细辅助教程)1)有没有挂:进一步探索有辅助吗...
信息共享!pokemmo手机版... 信息共享!pokemmo手机版修改器(辅助挂)竟然存在有挂(有挂教程辅助脚本)1、下载好透视辅助下载...
玩家必备科技!wepoker有... 玩家必备科技!wepoker有辅助插件吗(辅助挂)都是存在有挂(竟然有挂辅助软件)1、免费脚本咨询教...