Java 如何在退出应用程序时防止服务被破坏
我有一个服务类,它从firebase读取数据并将数据发送到模型以获得响应。但是,问题是,当我退出应用程序时,服务被破坏 注释:Java 如何在退出应用程序时防止服务被破坏,java,android,service,ondestroy,Java,Android,Service,Ondestroy,我有一个服务类,它从firebase读取数据并将数据发送到模型以获得响应。但是,问题是,当我退出应用程序时,服务被破坏 注释: 我的服务在我登录时启动,在我注销应用时必须销毁 我的服务类包含broadcast receiver作为一个内部类来显示对话框,以防我从模型中获得所需的响应来显示自定义对话框 ^这张便条写得很好,以备不时之需 我寻找已经被问到的问题,没有人解决我的问题 当我退出应用程序时,我必须让服务运行 清单文件: <service android:name=".Mod
<service android:name=".ModelServiceM"
android:enabled="true"
android:exported="false" />
即使应用程序关闭,也可以查看他们使用的前台服务
public class ModelServiceM extends Service {
Timer timer = new Timer();
BroadcastReceiver mReceiver;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
//skip this for now
/*IntentFilter filter = new IntentFilter();
filter.addAction("action");
mReceiver = new MyReceiver();
registerReceiver(mReceiver, filter);*/
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d("message","onStartCommand Lunched");
//things
timer.schedule(new TimerTask() {
public void run() {
//things
}, delay,period);
//return START_STICKY;
flags=START_STICKY;
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
Log.d("message","onDestroy Lunched");
timer.cancel();
//unregisterReceiver(mReceiver);
super.onDestroy(); }
// use this as an inner class like here or as a top-level class
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// do something
Log.d("RECEIVER","onReceive lunched");
//things
}
// constructor
public MyReceiver(){ }
}
}