Android服务尚未启动

时间:2013-02-13 07:45:51

标签: android

我正在申请中创建一项服务。 这是我使用的代码。

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消息 请帮忙

2 个答案:

答案 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标志。我不认为这需要它。