کلیدستان

نسخه‌ی کامل: یک مشکل کوچک با AlarmManager
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
کلاس زیر رو از اینترنت گرفتم که قشنگ کار میکنه و هر 15 دقیقه یکبار کد ما رو اجرا میکنه فقط مشکل اینه که وقتی SetAlarm رو انجام میدم چند ثانیه بعد کد رو اجرا میکنه 15 دقیقه بعد هم اجرا میکنه من می خوام اولش اجرا نکنه. نمی دونم مشکل این کلاس چیه!؟
کد پی‌اچ‌پی:
public class Alarm extends BroadcastReceiver 
{    
    @
Override
    
public void onReceive(Context contextIntent intent
    {   
        
PowerManager pm = (PowerManagercontext.getSystemService(Context.POWER_SERVICE);
        
PowerManager.WakeLock wl pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK"");
        
wl.acquire();

        
//Your Code
        
Toast.makeText(context"Alarm !!!!!!!!!!"Toast.LENGTH_LONG).show(); // For example
        
        
wl.release();
    }

    public 
void SetAlarm(Context context)
    {
        
AlarmManager am =( AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        
Intent i = new Intent(contextAlarm.class);
        
PendingIntent pi PendingIntent.getBroadcast(context0i0);
        
        
am.setRepeating(AlarmManager.RTC_WAKEUPSystem.currentTimeMillis(), 1000 60 15pi); // Millisec * Second * Minute
    
}

    public 
void CancelAlarm(Context context)
    {
        
Intent intent = new Intent(contextAlarm.class);
        
PendingIntent sender PendingIntent.getBroadcast(context0intent0);
        
AlarmManager alarmManager = (AlarmManagercontext.getSystemService(Context.ALARM_SERVICE);
        
alarmManager.cancel(sender);
    }