Разработчики Android: есть ли лучший способ получить часовой пояс?
Я хочу сделать уведомление в точное время "работающим в фоновом режиме", Android-приложение.
но это разомкнутый принимать все мобильные аккумуляторная батарея зарядное устройство срок службы !.. Поэтому я ищу новый способ сделать это РИТ, есть ли лучший способ ?
Что я уже пробовал:
public void run() { BckGround",Toast.LENGTH_LONG).show(); Calendar c = Calendar.getInstance(); Notification notification=new Notification(); notification.sound= Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE+"://"+getPackageName()+"/row/a zan"); // Toast.makeText(null, "start",Toast.LENGTH_LONG).show(); int sec = c.get(Calendar.SECOND); int hours= c.get(Calendar.HOUR_OF_DAY); int minites=c.get(MINUTE); int x,y,x2,y2,f,x3,y3,x4,x5,y4,y5; String Min,hou; x=19;y=1; x2=16;y2=1; x3=18;y3=1; x4=20;y4=1; x5=22;y5=1; f=0; //التاري int d,mo; d=18; mo=7; double Marroftime=720000; Calendar cn= Calendar.getInstance(); int day=cn.get(Calendar.DAY_OF_WEEK); int month=cn.get(Calendar.MONTH); while (true) { c = Calendar.getInstance(); hours = c.get(Calendar.HOUR_OF_DAY); minites = c.get(MINUTE); Min="M is: "+ minites; hou="H is: "+hours; if ((hours==x) && (minites==y)&&(f!=minites)){ this.nb.setContentTitle("string"); this.nb.setContentText("Another String"); this.mn.notify(100, nb.build()); f=minites; try { Thread.sleep((long) Marroftime); } catch (InterruptedException e) { e.printStackTrace(); } } else if ((hours==x2) && (minites==y2)&&(f!=minites)){ this.nb.setContentTitle("time"); this.nb.setContentText("now is time"); this.mn.notify(100, nb.build()); f=minites; try { Thread.sleep((long) Marroftime); } catch (InterruptedException e) { e.printStackTrace(); } } else if ((hours==x3) && (minites==y3)&&(f!=minites)){ this.nb.setContentTitle("now "); this.nb.setContentText("now is time"); this.mn.notify(100, nb.build()); f=minites; try { Thread.sleep((long) Marroftime); } catch (InterruptedException e) { e.printStackTrace(); } } else if ((hours==x4) && (minites==y4)&&(f!=minites)){ this.nb.setContentTitle("String"); this.nb.setContentText("String"); this.mn.notify(100, nb.build()); f=minites; try { Thread.sleep((long) Marroftime); } catch (InterruptedException e) { e.printStackTrace(); } } else if ((hours==x5) && (minites==y5)&&(f!=minites)){ this.nb.setContentTitle("String"); this.nb.setContentText("String NEw"); this.mn.notify(100, nb.build()); f=minites; try { Thread.sleep((long) Marroftime); } catch (InterruptedException e) { e.printStackTrace(); } } } } }