我有報警經理掛起的意圖問題。 我已經在文件讀取 確定兩個意圖是意圖分辨率(過濾)的目的是相同的。也就是說,如果他們的行動,數據,類型,等級和類別是相同的。這並不比較意圖中包含的任何額外數據。 參數如何刪除已經定義掛起的意圖
而且一套報警管理的方法將移除或替換如果已經有這個意向計劃(有兩個意圖的平等的filterEquals(意向)被定義)報警。
但是,當我實現使用相同的概念我的報警管理器將不等於過濾意圖和防止對同一數據添加到待處理的意圖。
我的代碼是
public void setalarm() {
int[] IDs = { 1, 2, 3 };
int[] type = { 0, 1, 0 };
String[] name = { "not", "yes", "not" };
Date[] dt = { new Date(2012, 2, 28, 11, 51),
new Date(2012, 2, 29, 10, 55), new Date(2012, 2, 28, 11, 51) };
for (int i = 0; i < 3; i++) {
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
Intent send = new Intent(context, service.class);
send.setAction("com.app.main");
send.setData(Uri.parse(type[i] + " " + name[i] + " " + dt[i]));
PendingIntent pintent = PendingIntent.getService(context, IDs[i],
send, PendingIntent.FLAG_CANCEL_CURRENT
| PendingIntent.FLAG_ONE_SHOT);
try {
am.cancel(pintent);
} catch (Exception e) {
}
am.set(AlarmManager.RTC_WAKEUP, dt[i].getTime(), pintent);
}
}
當報警電話上啓動方法的服務,它將調用兩次從ID 1以及3. 但是我有ID使用setData相同= 1和ID = 3;
但用戶只能設置爲ID = 1不爲3,因爲第一和第三是相同
非常感謝對於你的回覆,它適用於m Ë – sneha 2012-02-29 06:32:52
如果答案爲你工作,你應該注意將其標記爲正確的和接受的答案。 – MKJParekh 2013-04-01 05:09:17