0
我在android中使用多個鬧鐘進行應用,我想爲每個鬧鐘做不同的事情,我的問題是我不知道如何恢復鬧鐘的ID或區分每個鬧鐘在警報類。 這是我的代碼: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();
}
類報警
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」),然後用intent.getAction()。equals(「MyAction1」){做某事...}過濾你的報警。 – JanBo
它的工作非常感謝你。 – Fsop