0
Я делаю и приложение в android, используя несколько сигналов тревоги, и я хочу делать разные вещи для каждого сигнала тревоги, моя проблема в том, что я не знаю, как восстановить идентификатор тревоги или дифференцировать каждый сигнал тревоги в классе сигнализации. Это мой код:Проблемы с Android AlarmManager
//Activate the alarm
public void ActivateAlarm(int num) {
int seconds =Preferences.getTime(num);
myIntent[num] = new Intent(Settings.this,
Alarm.class);
pendingIntent[num] = PendingIntent.getService(Settings.this, num,
myIntent[num], 0);
alarmManager[num] = (AlarmManager) getSystemService(ALARM_SERVICE);
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
alarmManager[num].setRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(),
seconds * 1000, pendingIntent[num]);
Toast.makeText(Settings.this, "Alarm"(num+1)+"activated",Toast.LENGTH_LONG)
.show();
}
класс Alarm
public class Alarm extends Service implements Runnable {
public int alarmID;
private static Thread thread;;
@Override
public void run() {
// TODO Auto-generated method stub
handler.sendEmptyMessage(1);
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@SuppressLint("HandlerLeak")
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// Toast.makeText(Alarm.this, Alarm.thread.getName(), Toast.LENGTH_LONG).show();
//ReadFile.readFile(Integer.parseInt(thread.getName()));
displayNotification();
}
};
private void displayNotification() {
//different notification for each alarm
}
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
//super.onStart(intent, startId);
thread = new Thread(this);
thread.start();
}
public void setIDAlarm(int pos){
this.alarmID=pos;
}
}
Спасибо.
Вы можете использовать намерение .setAction («MyAction1»), а затем отфильтруйте свои сигналы тревоги с помощью намерения.getAction(). equals («MyAction1») {сделайте что-нибудь ...} – JanBo
Это сработало вам большое спасибо. – Fsop