1-) Android RMOS - Alarm Manager kullanımı
public class AlarmController {
Context context;
public AlarmManager alarmManager;
public PendingIntent pendingIntent;
Intent intent1 = null;
AlarmDataController alarmDataController;
public static int saniye = 15;
public void alarmBaslat(Context context) {
this.context = context;
intent1 = new Intent(context, Restarter.class);
pendingIntent = PendingIntent.getBroadcast(context, 100, intent1, 0);
alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
// alarmManager.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+(saniye*1000),pendingIntent); // önceki kodumuz
if (Build.VERSION.SDK_INT < 23) {
if (Build.VERSION.SDK_INT >= 19) {
alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (saniye * 1000), pendingIntent);
} else {
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (saniye * 1000), pendingIntent);
}
} else {
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (saniye * 1000), pendingIntent);
}
}
RESTARTER.JAVA
package com.ramzey.doviz.ui.notifications.AlarmKur;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.ramzey.doviz.Genel;
public class Restarter extends BroadcastReceiver {
Context context;
AlarmController alarmController = new AlarmController();
@Override
public void onReceive(Context context, Intent ıntent) {
if (!Genel.isAktifAlarm(context)){
return;
}
this.context = context;
alarmController.alarmBaslat(context);
}
}
BOOTNOTİFİCATİONRECEVEİVER.JAVA
package com.ramzey.doviz.ui.notifications.AlarmKur;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.ramzey.doviz.Genel;
public class BootNotificationReceiver extends BroadcastReceiver {// TEL RESTART
Context context;
@Override
public void onReceive(Context context, Intent ıntent) {
this.context = context;
if (!Genel.isAktifAlarm(context)){
return;
}
Genel.alarmController = new AlarmController();
Genel.alarmController.alarmBaslat(context);
}
}
MANİFEST.XML
<receiver
android:name=".ui.notifications.AlarmKur.Restarter"
android:enabled="true"
android:exported="true">
<receiver
android:name=".ui.notifications.AlarmKur.BootNotificationReceiver"
android:enabled="true"
android:exported="true"
>
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
<receiver
android:name=".ui.notifications.AlarmKur.Restarter"
android:enabled="true"
android:exported="true">
</receiver>
</application>
public void cihazUyandir() {
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AppName:tag");
wl.acquire();
// KODLARINI BURAYA YAZ.
wl.release();
}