gpt4 book ai didi

java - Android 10 java 中销毁应用程序后后台服务在 20 秒后停止

转载 作者:行者123 更新时间:2023-11-30 05:18:37 32 4
gpt4 key购买 nike

我有一个应用程序可以在后台检测位置。在 android 9 (api 28) 或更低版本的设备中它可以工作,但在 android 10 中它会在 20 秒后停止

有一些代码

我如何调用该服务

Intent intent = new Intent(getApplicationContext(), GoogleService.class);
startService(intent);

主要 Activity

    @Override
protected void onResume() {
super.onResume();
registerReceiver(broadcastReceiver, new IntentFilter(GoogleService.str_receiver));

}

@Override
protected void onPause() {
super.onPause();
registerReceiver(broadcastReceiver, new IntentFilter(GoogleService.str_receiver));
}

@Override
protected void onDestroy() {
super.onDestroy();
registerReceiver(broadcastReceiver, new IntentFilter(GoogleService.str_receiver));
}

谷歌服务

    @Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}

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

@Override
public void onCreate() {
super.onCreate();

mTimer = new Timer();
mTimer.schedule(new TimerTaskToGetLocation(), 5, notify_interval);
intent = new Intent(str_receiver);
}

最佳答案

正如 CommonsWare 所指出的,运行这样的后台服务将导致系统在用户将您的应用程序留在较新版本的 Android 上后将其终止。

根据您尝试执行此操作的具体特征,您应该使用 WorkManager(如果这是可推迟的并且不需要超过每 15 分钟左右)或带有通知的前台服务(如果您需要不断查询)。请参阅this guide from the Android documentation有关您的选择的更多信息,请点击此处。

关于java - Android 10 java 中销毁应用程序后后台服务在 20 秒后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59923495/

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