dan
dan

Reputation: 305

BroadcastReceiver not calling onReceive from alarm

I've been stuck here for hours on what seems like such a trivial issue. My BroadcastReceiver doesn't seem to be receiving an alarm broadcast at all. I can see alarms are being set with "adb shell dumpsys alarm" but my onReceive method never is called.

This is the class:

public class AlarmReceiver extends BroadcastReceiver {

public void AlarmReceiver(){
    super();
}

@Override
public void onReceive(Context context, Intent intent) {
    Log.i("Alarm:", "Received alarm!");
}

and here is my MainActivity:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    scheduleAlarm();
}

private void scheduleAlarm(){

    Intent intent = new Intent(this,AlarmReceiver.class);

    final PendingIntent pIntent = PendingIntent.getBroadcast(this,19522,intent,PendingIntent.FLAG_UPDATE_CURRENT);
    AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE);
    alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 5000, pIntent);

    Log.i("Main", "Alarm Scheduled");
}

and my manifest file contains:

<receiver android:name="dt.wirelessproject.AlarmReceiver"></receiver>

Upvotes: 0

Views: 871

Answers (1)

Silambarasan Poonguti
Silambarasan Poonguti

Reputation: 9442

Try this...

Your Receiver class constructor is may wrong. Just change your receiver class like this...

public class AlarmReceiver extends BroadcastReceiver {

  public AlarmReceiver(){ 
    super();
  }
  @Override
  public void onReceive(Context context, Intent intent) {
    Log.i("Alarm:", "Received alarm!");
  }
} 

Upvotes: 2

Related Questions