2011-10-31 5 views
-1

を、私はそれが特定の時点から開始しますBrodcastReceiver、用のサンプルコードを実装していますが、そこに何か問題が私のコードであり、その動作していない...BrodcastReceiverが機能していない:アンドロイド

をここでは私のコードです:

活動に

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Calendar cur_cal = new GregorianCalendar(TimeZone.getTimeZone("IST"), Locale.US); 
     cur_cal.setTimeInMillis(System.currentTimeMillis()); 

     Calendar cal = new GregorianCalendar(); 
     cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR)); 
     cal.add(Calendar.HOUR_OF_DAY, 13); 
     cal.add(Calendar.MINUTE, 10); 
     cal.add(Calendar.SECOND, 00); 
     cal.add(Calendar.MILLISECOND, 0); 
     cal.add(Calendar.DATE, 31); 
     cal.add(Calendar.MONTH, 10); 

     Intent intent = new Intent(HelloAlarmManagerActivity.this, ScheduleHandler.class); 
     PendingIntent pIntent = PendingIntent.getBroadcast(HelloAlarmManagerActivity.this, 0, intent, 0); 

     AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
     alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 2*10, pIntent); 
     Toast.makeText(HelloAlarmManagerActivity.this, "Alarm seted", Toast.LENGTH_SHORT).show(); 

    } 

と私のBrodcastReceiverクラスとして次のとおりです。

public class ScheduleHandler extends BroadcastReceiver { 

    /* (non-Javadoc) 
    * @see android.content.BroadcastReceiver#onReceive(android.content.Context, android.content.Intent) 
    */ 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
     Toast.makeText(context, "Alarm called", Toast.LENGTH_SHORT).show(); 
    } 


} 

このアプリケーションを実行すると、最初のトーストメッセージしか表示されません。放送受信機が呼び出されないことを意味します。

私のコードに問題はありますか?

+0

ちょうどアイデア:cal.add(Calendar.Month、10)今?どのような値がcal.getTimeInMillisであるかを調べてみてください。また、alarm.setRepeating(AlarmManager.RTC_WAKEUP、System.currentTimeMillis + 1000,2 * 10、pIntent)を試すこともできます。その単純なタイミングミスかどうかを確認するには –

+0

@Rafael T cal.add(Calendar.Month、10)これは今から10ヶ月追加するという意味ですか?ああ、10月になるはずだと思っていましたが、10月(10月)に追加しました....今月の予定は? –

答えて

1

リピート間隔は20(2 * 10)ミリ秒です。私はアイデアを持っていませんどのように携帯電話に反応するだろうが、それはあなたの問題の原因かもしれません

関連する問題