ControlService.java


Dosyayı İndir
package com.godoro.androiddevices;

import android.app.IntentService;
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;

public class ControlService extends Service {

    private final static long SERVICE_STEP_INTERVAL=500;
    private final static long SERVICE_COUNT_MAX=10;
    private long serviceCount;
    private boolean serviceRunning=false;
    private Handler handler=new Handler();

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
	 @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        work();
        return START_NOT_STICKY;
    }
   @Override
    public void onDestroy() {
        super.onDestroy();
        serviceRunning=false;
		showToast("Hizmet yok edildi");
    }
    private void work(){
        workBefore();
        Runnable runnable=new Runnable() {
            @Override
            public void run() {
                while(serviceRunning){
                    workStep();
                }
                workAfter();
            }
        };
        Thread thread=new Thread(runnable);
        thread.start();
    }
    private void workBefore(){
        serviceRunning=true;
        serviceCount=0;
        showToast("Hizmet başladı");

    }
    private void workStep(){
        try {
            Thread.sleep(SERVICE_STEP_INTERVAL);
            String message=String.format("Hizmet %d. kez çalıştı",serviceCount);
            showToast(message);

            serviceCount++;
            if(serviceCount>=SERVICE_COUNT_MAX){
                serviceRunning=false;
            }
        }catch (Exception e){
            Log.e("GodoroAndroid", "Hizmet hatası", e);
        }
    }
    private void workAfter(){
        showToast("Hizmet bitti");

    }
    private void showToast(final String message){
        Runnable action=new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
            }
        };
        handler.post(action);
    }
 
}

				
Dosyayı İndir

Bu Sayfayı Paylaş:




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir