Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.serwis;
- import java.util.Timer;
- import java.util.TimerTask;
- import android.app.Service;
- import android.content.Intent;
- import android.hardware.Sensor;
- import android.hardware.SensorEvent;
- import android.hardware.SensorEventListener;
- import android.hardware.SensorManager;
- import android.os.IBinder;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.widget.TextView;
- import android.widget.Toast;
- public class MyService extends Service implements SensorEventListener {
- private Toast toast;
- private Timer timer;
- private TimerTask timerTask;
- private TextView textViewSteps;
- private SensorManager sensorManager;
- private Sensor mineSensor;
- int Steps;
- @Override
- public void onSensorChanged(SensorEvent sensorEvent) {
- if (sensorEvent.sensor == mineSensor) {
- Steps= (int) sensorEvent.values[0];
- textViewSteps.setText(String.valueOf(Steps));
- }
- }
- @Override
- public void onAccuracyChanged(Sensor sensor, int i) {
- }
- private class MyTimerTask extends TimerTask {
- @Override
- public void run() {
- showToast("Your service is still working");
- }
- }
- private void showToast(String text) {
- toast.setText(text);
- toast.show();
- }
- private void writeToLogs(String message) {
- Log.d("HelloServices", message);
- }
- @Override
- public void onCreate() {
- super.onCreate();
- writeToLogs("Called onCreate() method.");
- timer = new Timer();
- toast = Toast.makeText(this, "", Toast.LENGTH_SHORT);
- }
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- writeToLogs("Called onStartCommand() methond");
- clearTimerSchedule();
- initTask();
- timer.scheduleAtFixedRate(timerTask, 4 * 1000, 4 * 1000);
- showToast("Your service has been started");
- return super.onStartCommand(intent, flags, startId);
- }
- private void clearTimerSchedule() {
- if(timerTask != null) {
- timerTask.cancel();
- timer.purge();
- }
- }
- private void initTask() {
- timerTask = new MyTimerTask();
- textViewSteps = findViewById(R.id.textView);
- sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
- if (sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER) != null) {
- mineSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
- } else {
- textViewSteps.setText("Brak sensora.");
- }
- }
- @Override
- public void onDestroy() {
- writeToLogs("Called onDestroy() method");
- clearTimerSchedule();
- showToast("Your service has been stopped");
- super.onDestroy();
- }
- @Override
- public IBinder onBind(Intent arg0) {
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment