Мне нужно создать службу, которая считывает датчики, выполняет быстрое преобразование Фурье и сохраняет результаты в db, но мне нужно сообщить 2 значения службе при ее запуске (сколько значений взять и строку для db). Как я могу сообщить об этом службе?
Кроме того, мне нужно запускать службу каждый раз.
EDIT: Здесь есть хорошее объяснение → http://www.androidcompetencycenter.com/2009/01/basics-of-android-part-iii-android-services/
Я делаю это в своем приложении, но мне не удается передать переменные toRec и лагерь:
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
mBoundService = ((SensorService.LocalBinder)service).getService();
Toast.makeText(SensorsState.this, R.string.local_service_connected,
Toast.LENGTH_SHORT).show();
mBoundService.toRec=toRec;
mBoundService.camp=CAMPIONI_FFT;
}
public void onServiceDisconnected(ComponentName className) {
mBoundService = null;
Toast.makeText(SensorsState.this, R.string.local_service_disconnected,
Toast.LENGTH_SHORT).show();
}
};
void doBindService() {
bindService(new Intent(SensorsState.this,
SensorService.class), mConnection, Context.BIND_AUTO_CREATE);
mIsBound = true;
}
void doUnbindService() {
if (mIsBound) {
unbindService(mConnection);
mIsBound = false;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
doUnbindService();
}
Tnk-х
Вы можете связать его и вызвать метод в своей службе в onServiceConnected из ServiceConnection