AlarmReceiver в Android никогда не получает тревогу - PullRequest
1 голос
/ 02 декабря 2011

Мой класс AlarmManager расширяет BroadcastReceiver, и я попробовал все, но, похоже, он никогда не получал мою тревогу.

вот мой метод в основном классе

public void setApp(int startHour, int startMin, int endHour, int endMin) {
    Intent intent = new Intent(this, AlarmManager.class);
    PendingIntent sender = PendingIntent.getBroadcast(PhoneManagerActivity.this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
    Toast.makeText(PhoneManagerActivity.this, "Start Alarm", Toast.LENGTH_LONG).show();

    Calendar calendar = Calendar.getInstance();

    Calendar startCalendar = Calendar.getInstance();
    startCalendar.setTimeInMillis(System.currentTimeMillis());
    startCalendar.add(Calendar.SECOND, 10);

    if (startCalendar.getTimeInMillis() <= calendar.getTimeInMillis()) {
        startCalendar.add(Calendar.HOUR, 24);
    }
    Am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),AlarmManager.INTERVAL_DAY, sender);         
}

Вот мой класс приемника

public class AlarmManager extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("beast", "alarm");

        try {
            Log.i("beast", "alarm recieved");
            Toast.makeText(context, "Phone set",Toast.LENGTH_LONG).show();
            // AdamApp3Activity adam = new AdamApp3Activity();
            ((PhoneManagerActivity)context).setRinger();
            Intent newIntent = new Intent(context, PhoneManagerActivity.class);
            newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(newIntent);
        } catch (Exception e) {
            Toast.makeText(context, "There was an error somewhere, but we still received an alarm", Toast.LENGTH_SHORT).show();
            e.printStackTrace();
        }
    }
}

Я определил его как получателя в моем xml, но он никогда не получает мой сигнал тревоги

...