بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ادامه فعالیت کرنومتر بعد از بسته شدن برنامه
سلام من یه کرنومتر دارم میخوام وقتی برنامه بسته شد به کار خودش ادامه بده من از سرویس استفاده کردم و هر یه ثانیه مقدار کرنومتر رو به اکتیویتی ارسال کردم ولی جواب نداد
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 = "CHRONOMETERVALUE";
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;
}
}
برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال
Reza Masoudi
9 سال پیش
0
0
بله خانم رپیسی اینم ایده خوبیه ولی من میخوام به محض بسته شدن برنامه کرنومتر در ناتیفیکیشن به فعالیت خود ادامه بده
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
onStartCommandبنویسید: لینک (9 سال پیش)