Periyodik tekrar eden bildirim,AlarmManager
01.10.2015 - 09:20
Bir alarm manager ile belirli aralıklarla bildirim göstermeyi planlıyorum uygulama açık yada kapalı olsa dahi, bu yüzden servis kullandım ama bu bildirim 1 kez çıkıyor daha sonra ikinci 10sn de bildirim gelmiyor. kodlarımda neresi yanlış acaba veya nasıl bir kod kullanmalıyım .teşekkürler
MainActivity.java
private PendingIntent pendingIntent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent myIntent = new Intent(Main.this, MyReceiver.class);
pendingIntent = PendingIntent.getBroadcast(Main.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, 1000 * 10, pendingIntent);
}
MyReceiver.java
@Override
public void onReceive(Context context, Intent intent)
{
Intent service1 = new Intent(context, MyAlarmService.class);
context.startService(service1);
}
MyAlarmService.java
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.IBinder;
import android.app.Service;
public class MyAlarmService extends Service
{
private NotificationManager mManager;
@Override
public IBinder onBind(Intent arg0)
{
return null;
}
@Override
public void onCreate()
{
// TODO Auto-generated method stub
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId)
{
//Servis basladığında gerçeklesecekler...
super.onStart(intent, startId);
NotificationManager bildirimYÖnetiicisi = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification bildirim = new Notification.Builder(getApplicationContext())
.setTicker("Bildirim var!")
.setContentTitle("Başlık")
.setContentText("İçerik")
.setContentIntent(PendingIntent.getActivity(getApplicationContext(), 0, new Intent(getApplicationContext(),Main.class),0))
.setSmallIcon(R.drawable.host)
.setAutoCancel(true)//üstüne tıklanınca kapansın
.getNotification();
bildirimYÖnetiicisi.notify("bildirim_yeni",0,bildirim);
}
@Override
public void onDestroy()
{
super.OnDestroy();//kullanıp kullanmamam bir şeyi değiştirmedi
}
}
146
Görüntülenme
0 Beğeni