我正在使用下面的代码来启动服务。此服务应启动检查 mysql 并提供通知的异步任务。服务没有启动,我找不到原因?我没有收到来自服务的日志。(当我在没有服务的情况下直接从主要活动调用异步任务时,它工作正常)。
主要活动代码:
Intent startIntent = new Intent(MainActivity.this, ForegroundService.class);
MainActivity.this.startService(startIntent);
服务等级代码:
public class ForegroundService extends Service {
private static final String LOG_TAG = "ForegroundService";
@Override
public void onCreate() {
Log.i(LOG_TAG, "On Create");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(LOG_TAG, "On Start");
new Thread(new Runnable() {
@Override
public void run() {
String newoperator = "Go";
TimeSync ReportCheck= new TimeSync(getApplicationContext());
ReportCheck.execute(newoperator);
}
}).start();
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i(LOG_TAG, "In onDestroy");
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
我还发现了一些解决方案,在主要活动中添加了以下命令,但该命令不适用于我的 android studio。
startIntent.setAction(Constants.ACTION.STARTFOREGROUND_ACTION);