AndroidStudio - Background Service and AsyncTask
26.08.2015 - 04:00
Merhaba arkadaşlar amacım belli aralıklarda web servisten gelen cevaba göre bildirim göndermek programın arka planda sürekli çalışmasını istiyorum ve zamanı geldiğinde bildirimi göndermesini istiyorum . Aşağıda kodun sade halini paylaşıyorum mantığım doğru mu? daha farklı bir yol kullanabilir miyim? Önerileri bekliyorum iyi çalışmalar.
public class NotificationService extends Service {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new NotifyAsenkron().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, "");
//Burada asenkron olarak NotifyAsenkron çalışıyor method programın başka yerinde yine asenkron bir method olduğu için paralel olarak çalışmasını sağlıyor.
return super.onStartCommand(intent, flags, startId);
}
class NotifyAsenkron extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
cNotify();
return null;
}
@Override
protected void onPostExecute(String s) {
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
}
public void createNotification() {
// Notification Oluşturuyor
}
public void cNotify() {
while (1 != 2){
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("HH:mm");
int AyinGunu = c.get(Calendar.DAY_OF_MONTH);
if (AyinGunu == 1 || AyinGunu == 2 || AyinGunu == 3 || AyinGunu == 4) {
if (df.format(c.getTime()).equals(str)) {
LogOnService();
}
}
}
}
}
7
Görüntülenme
0 Beğeni