2011-01-10 61 views
2

LocationManager提供方法removeProximityAlert(PendingIntent),但是如果您不再擁有PendingIntent的句柄,那麼如何移除ProximityAlert(或簡單地全部)? GPS圖標保留在狀態欄中,並且我沒有爲ProximityAlert設置過期時間。取消所有接近警報

卸載產生它的應用程序無濟於事。

回答

3

創建等效PendingIntent,相同類型的一個(例如,getBroadcast())幷包裝的等效Intent(即,一個具有相同的動作,數據,類型和組成部分 - 任何的所設置原本)。然後,使用此PendingIntent刪除您的接近警報。

另請注意,GPS圖標始終保持在模擬器上;只有在硬件上,GPS圖標才能真實反映GPS無線電的狀態。

+0

謝謝。我發現刪除它的代碼:http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=services/java/com/android/server/LocationManagerService.java #l1587 - 它使用HashMap,但我不確定在HashMap中是否有兩個具有相同成員值的PendingIntent對象是不同的。我找到PendingIntent的.equals()方法:http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/app/PendingIntent。 java; h = be1dc4acb150d6e6b3f20e136b0edcb2c3edaf60; hb = HEAD#l431--它引用.asBinder()方法...我停在那裏。 – kostmo 2011-01-11 04:20:11