gpt4 book ai didi

java - 如何在android中制作 "Never Ending Service"?我正在使用小米和vivo,在这些设备中服务被杀死,同时从最近的服务中删除它?

转载 作者:行者123 更新时间:2023-12-02 01:21:09 25 4
gpt4 key购买 nike

我正在使用 xiomi 和 vivo 设备,在从最近使用的应用程序中删除应用程序时,设备服务被终止,并且没有重新启动,因为我使用了接收器。我还使用了 OREO+ 版本的 startForeground,但它仍然无法在 xiomi 和 vivo 手机中工作。所以我只想创建一个每秒打印日志的服务,即使用户将其从最近的日志中删除,它也应该继续。预先感谢您。

到目前为止,我已经尝试过如下所示的代码:

public class SensorService extends Service {
public int counter=0;
public SensorService(Context applicationContext) {
super();
Log.i("HERE", "here I am!");
}

public SensorService() {
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
startTimer();
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i("EXIT_destroy", "ondestroy!");
Intent broadcastIntent = new Intent(this, SensorRestarterBroadcastReceiver.class);
sendBroadcast(broadcastIntent);
stoptimertask();
}

@Override
public void onTaskRemoved(Intent rootIntent) {
super.onTaskRemoved(rootIntent);
Log.i("EXIT_taskRemoved", "ondestroy!");
Intent broadcastIntent = new Intent(this, SensorRestarterBroadcastReceiver.class);
sendBroadcast(broadcastIntent);
stoptimertask();
}

private Timer timer;
private TimerTask timerTask;
long oldTime=0;
public void startTimer() {
//set a new Timer
timer = new Timer();

//initialize the TimerTask's job
initializeTimerTask();

//schedule the timer, to wake up every 1 second
timer.schedule(timerTask, 1000, 1000); //
}

/**
* it sets the timer to print the counter every x seconds
*/
public void initializeTimerTask() {
timerTask = new TimerTask() {
public void run() {
Log.i("in timer", "in timer ++++ "+ (counter++));
}
};
}

/**
* not needed
*/
public void stoptimertask() {
//stop the timer, if it's not already null
if (timer != null) {
timer.cancel();
timer = null;
}
}

@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}

它在 xiomi 和 vivo 设备上不起作用,同时将其从最近使用的设备中删除

最佳答案

服务始终在主线程中运行,您应该在另一个线程中实现您的服务。只需使用 IntentService 而不是 Service

关于java - 如何在android中制作 "Never Ending Service"?我正在使用小米和vivo,在这些设备中服务被杀死,同时从最近的服务中删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57624995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com