我最近開始研究接近警報應用程序。這基於用戶的GPS位置基本上改變鈴聲簡檔(僅振動或鈴音)。我完成了編碼部分。在「進入」和「退出」接近警報正在被解僱,並且已註冊的BroadcastReceiver中的代碼正在執行。直到這一點,它是好的。實際問題如下(用我的示例代碼行)即使我退出設置的GPS位置並每隔2分鐘或1分鐘發生接近警報也會發射
我註冊了一個廣播接收器用於兩個意圖操作。這些意圖操作聲明如下, public static final String INTENT_ACTION1 =「org.droidmania.action。PROXIMITYALERT」; public static final String INTENT_ACTION2 =「org.droidmania.action。PROXIMITYALERT2」;
而部分的PendingIntent是,
私人無效setProximityAlerts(字符串intentAction){ 意圖意圖=新意圖(); intent.setAction(intentAction); //在情況下,呼叫來自HomeActivity intentAction將別的INTENT_ACTION1 INTENT_ACTION2
的PendingIntent pIntent = PendingIntent.getBroascast(上下文,0,意圖, PendingIntent.FLAG_CANCEL_CURRENT);
locationManager.addProximityAlert(latitude,longitude,vRadius,-1,pIntent); }
現在的BroadcastReceiver代碼,
類ProxyReceiver延伸的BroadcastReceiver { @Override 公共無效的onReceive(上下文範圍內,意圖意圖){
布爾isEnter = intent.getBooleanExtra(KEY_PROXIMITY_ENTERING,FALSE);
if(isEnter){
**//if user is in Home location**
if(intent.getAction().equals(INTENT_ACTION1)){
give the notification that user is in home area
}
**//if user is in Office location**
if(intent.getAction().equals(INTENT_ACTION2)){
give the notification that user is in office area
}
} 其他{ //如果用戶不在首頁位置
如果(intent.getAction()。等於(INTENT_ACTION1)){
給該用戶不在家裏通知區域 } //如果用戶離開辦公地點的 如果(intent.getAction()。等於(INTENT_ACTION2)){ 給該用戶不在辦公區的通知 } }}
這是我測試過我的移動設備上的方式,
在家裏,我設置10米半徑的GPS位置。它告訴我「用戶在家裏」
當我超出半徑時顯示「用戶退出了家鄉」消息。
現在,當我在辦公室時,我設置了5米半徑的GPS位置。所以它告訴我「用戶在辦公區域」。但是這裏我面臨的實際問題是,因爲它顯示每隔2或1分鐘間隔「進入的家庭區域」和「進入的辦公區域」和「退出的家庭區域」和「辦公區域」消息。我不明白爲什麼它會發生。(即使我設置了辦公室位置GPS後,我並沒有四處移動......只是呆在那裏......坐在我的辦公桌位置......)
我是否缺少或給予某些東西額外在這裏?爲什麼由於我離開家鄉區域已經很長時間了,因此家中鄰近的警報發生了?
傢伙請幫我(它已經已經2周時間,我花了:-()。您的幫助表示讚賞。
感謝。
夥計們......任何猜測或想法爲什麼會發生? – poddroid 2010-12-15 10:23:31
嗨@poddroid:我們也在做這個相同的近距離警報app.here我們很難得到退出消息,當我們離開那個位置。請如果你知道幫助我。這是郵件編號[email protected] – tamil 2013-03-27 08:32:20