Как отличить звонки на onReceive - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть класс

public class Receiver extends BroadcastReceiver{
 // with onReceive() method(overridden)
 public void onReceive(Context context, Intent intent)
  {...
  }
}

В своей деятельности я использую класс Receiver для прослушивания трансляции.

//Block1
Intent intent = new Intent(Test.this, Receiver.class);
PendingIntent pIntent = PendingIntent.getBroadcast(Test.this, 0, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, 2000, pIntent);

//Block2
IntentFilter filter= new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
mReceiver = new Receiver();
registerReceiver(mReceiver, filter);

Теперь проблема в обоих блоках из моей деятельностииспользуют тот же класс приемника для трансляции.

Я планировал использовать Intent.putExtra(), чтобы определить, какое намерение вызывает onReceive (), но оно доступно только для Intents, но не для IntentFilter.

Так как мне отличить вызовы onReceive() в методе onReceive ()?

...