我正在申请中创建一项服务。 这是我使用的代码。
public class LocationService extends Service{
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
Log.e("Location Service", "onStrat of service");
}
@Override
public void onCreate() {
super.onCreate();
Log.e("Location Service", "onCreate of service");
LocationOperations locationOperations = new LocationOperations(getBaseContext());
locationOperations.retrieveLocation();
}
}
还在applicatoin标签
中的清单文件中定义<service android:name=".LocationService"
android:process=":LocationService">
</service>
在活动的onCreate方法中调用此服务
Context context = this;
Intent service = new Intent(context, LocationService.class);
service.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startService(service);
但是这个服务没有启动。我在LogCat窗口中看不到任何Log消息 请帮忙
答案 0 :(得分:0)
ServiceConnection serviceConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
//do stuff when service disconnected
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
//do stuff when service connected
}
};
context.bindService(new Intent(context, LocationService.class), serviceConnection ,
Context.BIND_AUTO_CREATE);
希望这个帮助
答案 1 :(得分:0)
onStart(),而是覆盖OnStartCommand(),这应该是调用startActivity()时调用的函数。
此外,我不确定您为什么在意图中添加Intent.FLAG_ACTIVITY_NEW_TASK
标志。我不认为这需要它。