Android终止了小米,华为等的后台服务 [英] Android Kills Background Services in Xiaomi, Huawei etc
本文介绍了Android终止了小米,华为等的后台服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要使我的服务势不可挡.我尝试在启动命令上返回START_STICKY,它在模拟器上运行良好,但是,从我的设备(小米mi5s,Android 7)的任务管理器中删除该应用程序后,它不会再次创建自己.
I need to make my service unstoppable. I tried to return START_STICKY on start command, it works well on emulator but, when remove the app from task manager on my device (Xiaomi mi5s, Android 7), it doesn't create itself again.
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
我为该应用授予了自动启动"权限并禁用了电池保护规则.
I gave Auto Start permission and disabled battery protection rules for the app.
我也尝试使用前台服务.但是,它也被杀死了.
Also I tried to use foreground service. However, it is being killed too..
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
Intent notificationIntent = new Intent(getApplicationContext(), StartActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent contentPendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
Notification notification = new NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle(getResources().getString(R.string.app_name))
.setTicker(getResources().getString(R.string.app_name))
.setContentText("Hello!")
.setSmallIcon(R.mipmap.ic_launcher2)
.setContentIntent(contentPendingIntent)
.setOngoing(true)
.build();
notification.flags = notification.flags | Notification.FLAG_NO_CLEAR;
startForeground(1, notification);
return START_NOT_STICKY;
}
---Activity
ContextCompat.startForegroundService(this, new Intent(this, LockerService.class));
Logcat
2018-10-31 21:24:22.143 2168-2168/? D/wpa_supplicant: wlan0: Control interface command 'SIGNAL_POLL'
2018-10-31 21:24:22.555 1513-3093/? D/ProcessManager: update DY:[com.touchtype.swiftkey, com.miui.voip]
2018-10-31 21:24:22.560 1513-3093/? D/ProcessManager: remove task: TaskRecord{36f7d55 #495 A=me.ibrahimsn.applock U=0 StackId=1 sz=1}
2018-10-31 21:24:22.607 3103-3296/? I/WtEventController: dispatchSysInfoEvent AM_NEW_INTENT componentName:com.miui.home/.launcher.Launcher
2018-10-31 21:24:22.610 1513-9074/? D/ActivityTrigger: ActivityTrigger activityPauseTrigger
2018-10-31 21:24:22.624 1513-9074/? I/Timeline: Timeline: App_transition_ready time:44879245
2018-10-31 21:24:22.626 1513-1604/? D/ActivityTrigger: ActivityTrigger activityStopTrigger
2018-10-31 21:24:22.628 1513-1620/? I/Timeline: Timeline: App_transition_ready time:44879248
2018-10-31 21:24:22.630 1513-12578/? I/Timeline: Timeline: App_transition_ready time:44879251
2018-10-31 21:24:22.633 3185-3185/? D/SearchCardView: onVisibilityChanged: 0
2018-10-31 21:24:22.635 3185-3831/? I/RenderThread: RenderThread resumed
2018-10-31 21:24:22.635 3185-3831/? D/ScreenElementRoot: resume
2018-10-31 21:24:22.639 3185-3831/? I/NotifierManager: onRegister: miui.maml.NotifierManager$MultiBroadcastNotifier@46712e7
2018-10-31 21:24:22.646 1513-3093/? I/Timeline: Timeline: App_transition_ready time:44879267
2018-10-31 21:24:22.680 1513-1620/? I/Timeline: Timeline: App_transition_ready time:44879301
2018-10-31 21:24:22.686 2134-2134/? V/PhoneStatusBarPolicy: updateManagedProfile mManagedProfileFocused: false mManagedProfileInQuietMode: false mKeyguardVisible: false mCurrentUserId:0 mCurrentProfileId:0 mSecondSpaceStatusIconVisible: true showIcon:false
2018-10-31 21:24:22.689 1513-10970/? D/GraphicsStats: Buffer count: 4
2018-10-31 21:24:22.694 2134-2134/? D/StatusBar: onNotificationRemoved: Key: 0|me.ibrahimsn.applock|1|null|10637
我该怎么做?
推荐答案
Please take a look here. I had same problem and, after lots of research, I figured it out: You must white-list your app.
这篇关于Android终止了小米,华为等的后台服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文