انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ادامه فعالیت کرنومتر بعد از بسته شدن برنامه(ضروری)

ادامه فعالیت کرنومتر بعد از بسته شدن برنامه(ضروری)

#1
سلام من یه کرنومتر دارم میخوام وقتی بسته شد به کارش ادامه بده و توقف نکنه مگر با دستور مستقیم برنامه نویس من ازسرویس ها استفاده کردم و هر یه ثانیه مقدار کرنومتر رو به اکتیویتی مورد نظر ارسال کردم ولی فایده نداشت اینم کد سرویسم لطفا کمک کنید
کد:
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.os.SystemClock;
import android.widget.Chronometer;

public class ChronometerService  extends Service {

   private Intent intent;
   public static final String BROADCAST_ACTION = "actionchronometer";

   private Handler handler = new Handler();
   private long initial_time;
   long timeInMilliseconds = 0L;
   private Chronometer runedTime;
   String hh,mm,ss;

   @Override
   public void onCreate() {
       super.onCreate();
       runedTime=new Chronometer(this);
       initial_time = SystemClock.uptimeMillis();
       intent = new Intent(BROADCAST_ACTION);
       handler.removeCallbacks(sendUpdatesToUI);
       handler.postDelayed(sendUpdatesToUI, 1000); // 1 second

   }

   private Runnable sendUpdatesToUI = new Runnable() {
       public void run() {
           timer();
           handler.postDelayed(this, 1000); // 1 seconds
       }
   };


   @Override
   public void onDestroy() {
       super.onDestroy();
       handler.removeCallbacks(sendUpdatesToUI);

   }


   private void timer() {
       runedTime.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
           @Override
           public void onChronometerTick(Chronometer cArg) {
               long time = SystemClock.elapsedRealtime() - cArg.getBase();
               int h = (int) (time / 3600000);
               int m = (int) (time - h * 3600000) / 60000;
               int s = (int) (time - h * 3600000 - m * 60000) / 1000;

                hh = h < 10 ? "0" + h : h + "";
                mm = m < 10 ? "0" + m : m + "";
                ss = s < 10 ? "0" + s : s + "";

           }
       });
       runedTime.setBase(SystemClock.elapsedRealtime());
       runedTime.start();


       String value =hh+":"+mm+":"+ss;
       intent.putExtra("time", value);
       sendBroadcast(intent);
   }



   @Override
   public IBinder onBind(Intent intent) {
       // TODO Auto-generated method stub
       return null;
   }


}
پاسخ


پیام‌های این موضوع
ادامه فعالیت کرنومتر بعد از بسته شدن برنامه(ضروری) - توسط Dev.Masoudi - ۱۳۹۵/۱۱/۱۸, ۱۲:۴۶ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 2 مهمان