Итак, я знаю, что мне нужно использовать службу, и поэтому я создал класс под названием «открытый класс BroadcastService extends Service», но я не уверен, как реализовать методы, и поэтому я вроде как потерян.
Этоэто Countdowntimer в моей MainActivity, который уничтожается при уничтожении активности:
private void startCountDown() { // is called via a button
try {
countdownElapsed = 0l;
next_button.setEnabled(false);
displayCountDown();
mCountDownHandler.postDelayed(mCountDownRunnable, COUNT_DOWN_TICKS);
} catch (Exception ex) {
Log.e(TAG, ex.getMessage());
}
}
private void displayCountDown() {
long t = (COUNT_DOWN_FINISH - countdownElapsed) / 1000;
String myTime = String.valueOf(t);
timer.setText(myTime);
if (countdownElapsed >= COUNT_DOWN_FINISH)
timer.setText("Countdown");
}
private Runnable mCountDownRunnable = new Runnable() {
@Override
public void run() {
countdownElapsed = countdownElapsed + COUNT_DOWN_TICKS;
if (countdownElapsed >= COUNT_DOWN_FINISH) {
releaseCountDownHandler();
next_button.setEnabled(true);
} else {
mCountDownHandler.postDelayed(mCountDownRunnable, COUNT_DOWN_TICKS);
}
long secFull = countdownElapsed % 1000;
if (secFull == 0) {
runOnUiThread(new Runnable() {
@Override
public void run() {
displayCountDown();
}
});
}
}
private void releaseCountDownHandler() {
try {
if (mCountDownRunnable != null) {
mCountDownHandler.removeCallbacks(mCountDownRunnable);
}
} catch (Exception ex) {
Log.e(TAG, ex.getMessage());
}
}
};
Я также создал startService в моей основной деятельности уже так и назвал его в моей кнопке:
public void startService() {
Intent intent = new Intent(this, BroadcastService.class);
startService(intent);
}
Мой класс broadcastservice выглядит следующим образом:
public class BroadcastService extends Service {
@Override
public void onCreate() {
// The service is being created
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// The service is starting, due to a call to startService()
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
// The service is no longer used and is being destroyed
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
Я думаю, что это все методы, которые мне нужны для того, что я хочу сделать, но я не знаю следующий шаг, где и что делатьнапишите, в каком методе .. Я знаю, что вопрос задавался ранее, но я не мог продвинуться дальше с ответами ..