🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / Android RMOS / Alarm Manager kullanımı

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();
}

 

 2022 Ocak 05 Çarşamba
 450