2012-02-24 2 views
0

このコードセグメントでは、setRecurringAlarm()のコンテキストを設定する理由がわかりません。このコード例では、をこのと書いていますが、それが正しいかどうかはわかりません。ブロードキャストレシーバーのアラーム再発呼のコンテキストを設定します

public class AlarmReceiver extends BroadcastReceiver { 

private static final int INTERVAL = 15*1000; // check every 15 seconds 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     if(intent.getAction() != null) { 
      if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { 
       Log.v(TAG, "BroadcastReceiver - Received Boot Completed; Set Alarm"); 

       setRecurringAlarm(this); 
      }else{ 
       Log.v(TAG, "BroadcastReceiver - Received " + intent.getAction()); 
      } 
     }else{ 
      Log.v(TAG, "BroadcastReceiver - Received AlarmService"); 
     } 
    } 

    private void setRecurringAlarm(Context context) { 
     Intent receiver = new Intent(context, AlarmReceiver.class); 
     PendingIntent recurringDownload = PendingIntent.getBroadcast(context, 0, receiver, PendingIntent.FLAG_CANCEL_CURRENT); 
     AlarmManager alarms = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
     alarms.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), INTERVAL, recurringDownload); 
    } 
} 

答えて

0

あなたはonReceive(Context context, Intent intent)であなたのコンテキストを持って、それを使用しています。

+0

OMG LOL私はばかだと感じる – Rawr

+0

私の目を開けてくれてありがとう、D – Rawr

+0

@Rawr問題なし:) btw 'BroadcastReceiver'は' Context'ではないので'サービス'のように) – IBoS

関連する問題