Servis Timer Kullanımı

Merhabalar ben arka planda çalışacak bir servis yazdım. Bu servisin onCreate metodu şu şekilde;



static long zaman = 10000;

@Override
 public void onCreate(){
  super.onCreate();
  
  zamanlayici = new Timer();
  yardimci  = new Handler(Looper.getMainLooper());
  
  
  zamanlayici.scheduleAtFixedRate(new TimerTask() {
   
   @Override
   public void run() {
    
    bildirimOlustur();
    
   }
  }, 0, zaman);
 }

Burada bildirim oluşturuyorum ve. Bildirime tıklandıktan sonra çağırılacak olan akticyt'de bu zamanı kullanıcıya değiştirme seçenği sunan bir snipperım var. Sinipper içeriisnden bir öğe seçildiğinde zamanın değişmesini istiyorum. Örnek olarak şöyle gösterebilirim.



    spSureSecim.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
      public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
       Servis.zaman = 300000;
      }

      public void onNothingSelected(AdapterView<?> adapterView) {
        return;
      }
    });

 

Fakat bu işlem olunca bildirimin gelme süresinde bir değişiklik olmuyor. Hala servis içerisinde tanımalanan değer ile geliyor. Tanımladığım zaman ifadesi static olduğu için başka sınıflardan ulaşabilmem gerekiyor. sıkıntı nedir sizce? Yardımcı olabilir misiniz?

    0

    massumo

    06 Mayıs 2014

    Çok sağol hocam yardımcı oldunuz. Teşekkür edeirm.

      anilsozeri

      Sa, 06/05/2014 - 23:52
      Rica ederim işe yaradığına sevindim, iyi çalışmalar :)

    0

    Anıl SÖZERİ

    Detaysoft - 06 Mayıs 2014

    Merhaba, İlk olarak başka sınıflardan ulaşmak için private tanımlayıp setter ve getter metotlarınız ile de aynı işlemi yönetebilirsiniz, ikinci olarak da zaman değişkeniniz güncelleniyor gibi görünüyor fakat Timer işlem yapmaya başladığında parametre olarak ilk tanımladığınız değeri aldığı için yeniden durdurup başlatırsanız yeni değere göre çalışacaktır diye düşünüyorum, umarım yardımcı olabilmişimdir. İyi çalışmalar..

    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.