Android - несколько сигналов тревоги с ожидающими намерениями, как определить, какое намерение вызывается? - PullRequest
0 голосов
/ 01 августа 2011

Я работаю с 2 отдельными сигналами тревоги.У меня есть метод в моем классе, который создает 2 различных намерения для запуска 2 сигналов.Этот метод вызывает метод широковещания, когда завершается, однако в зависимости от того, какое намерение он получает, мне нужно выполнить различные действия

, заранее спасибо,

Энди

класс подсказки

public void setSleepPrompts(Context context){
    try{
        Intent intent = new Intent(context, SleepPromptReceiver.class ); 
        PendingIntent firstSender = PendingIntent.getBroadcast(context, 1, intent, 0);
        PendingIntent secondSender = PendingIntent.getBroadcast(context, 2, intent, 0);

        AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        am.set(AlarmManager.RTC_WAKEUP, (this.getBedTimeEpoch() - this.firstPromptOffset), firstSender);
        am.set(AlarmManager.RTC_WAKEUP, (this.getBedTimeEpoch() - this.secondPromptOffset), secondSender);
    } catch (Exception e){
        Log.i(TAG, e.toString());
    }
}

Класс приемника вещания

@Override
public void onReceive(Context context, Intent intent) {
    try{
        if(intent.GET_THE_INTENT_ID?)
        Toast.makeText(context, "kapow chow", Toast.LENGTH_SHORT).show();
    } catch (Exception e){
        Toast.makeText(context, e.toString(), Toast.LENGTH_SHORT).show();
    }
}

1 Ответ

1 голос
/ 01 августа 2011

Используйте intent.putExtra("id", "intent x") при создании намерения, а затем

if(intent.getStringExtra("id").equals("intent x"))
        Toast.makeText(context, "kapow chow", Toast.LENGTH_SHORT).show();
...