RecyclerView 내에 표시되는 작업 목록이 있습니다. Android 서비스 상호 작용
- 재생 버튼 : 각 작업에 대한 나는 포함하는 활동을 제시한다.
- 사용자가 나중에 다시 시작 함과 동시에 다양한 작업을 실행하는 작업을 중지 할 수 있습니다
다양한 정보를 제공합니다.
작업 수명 기간 동안 백그라운드에서 각 크로노 미터가 실행되도록 서비스를 구현해야합니다.
나는 여기에 가이드 라인을 따라 : https://developer.android.com/guide/components/services.html가 어떻게 작업마다 고유 한 서비스를 만들 수 있으며, 이전 작업이 사용자에 의해 선택 될 때 (경과 시간) 다시 크로노 미터를 표시합니다. 활동을 초 단위로 업데이트하는 적절한 방법은 무엇입니까?
public class TaskService extends Service {
public static final String TAG = "TASK SERVICE";
public static final String ACTION_TIMER = TaskService.class.getName() + "TIMER";
private IBinder mBinderTask = new TimerTaskBinder();
private Chronometer mChronometer;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(TAG, "onStartCommande: ");
mChronometer = new Chronometer(this);
mChronometer.setBase(SystemClock.elapsedRealtime());
mChronometer.start();
return START_STICKY; // Will be explicity started and stopped
}
public String getTimestamp() {
long elapsedMillis = SystemClock.elapsedRealtime() - mChronometer.getBase();
int hours = (int) (elapsedMillis/3600000);
int minutes = (int) (elapsedMillis - hours * 3600000)/60000;
int seconds = (int) (elapsedMillis - hours * 3600000 - minutes * 60000)/1000;
int millis = (int) (elapsedMillis - hours * 3600000 - minutes * 60000 - seconds * 1000);
return hours + ":" + minutes + ":" + seconds + ":" + millis;
}
@Override
public IBinder onBind(Intent intent) {
Log.d(TAG, "onBind: ");
return mBinderTask;
}
public class TimerTaskBinder extends Binder {
public TaskService getService() {
return TaskService.this;
}
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy: ");
}
}
감사
서비스와 상호 작용하는 방법을 이해할 때 사용자 위치 및 동작과 같은 다른 데이터를 수집하려고합니다. –
운동을 말할 때 사용자 활동 (걷기, 운전하기 등)을 의미합니까? –
예 GPS 모니터링 –