Тревога Android не срабатывает - PullRequest
0 голосов
/ 20 января 2011

Я уверен, что это что-то простое, но я не понимаю этого. Я пытаюсь сделать простой повторяющийся сигнал, и он никогда не срабатывает. Что у меня есть:

private void setupAlarms()
{
    AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);

    Intent intent = new Intent(this, RepeatingAlarm.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(HelloAndroid.this, 0, intent, 0);

    GregorianCalendar fifteenSeconds = (GregorianCalendar)Calendar.getInstance();
    fifteenSeconds.add(Calendar.MINUTE, 0);
    fifteenSeconds.set(Calendar.SECOND, 15);

    alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
            SystemClock.elapsedRealtime(), fifteenSeconds.getTimeInMillis(), pendingIntent);
}

Это вызывается из основного вызова onCreate.

Мой приемник сигналов тревоги:

public class RepeatingAlarm extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Toast.makeText(context, R.string.hello, Toast.LENGTH_SHORT).show();
    }
}

В своем манифесте я добавил:

<receiver android:name=".RepeatingAlarm" android:process=":remote" />

Любая помощь, высоко ценится

1 Ответ

0 голосов
/ 20 января 2011

Вы добавили фильтр намерений в свой BroadcastReceiver? Код может выглядеть примерно так в вашем файле AndroidManifest.xml:

    <receiver android:name=".RepeatingAlarm" android:exported="true">
        <intent-filter>
            <action android:name="intent id text" />
        </intent-filter>
    </receiver>

и при создании намерения сделайте что-то вроде этого:

Intent intent = new Intent("intent id text")

где "текст идентификатора намерения" может быть любой строкой, которую вы используете для идентификации своего намерения. Аварийные сигналы Android также сбрасываются, если вы перезагружаете свое устройство, поэтому вам, возможно, придется посмотреть.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...