2012-08-31 18 views
0

我有一個活動,使用位置偵聽器中onLocationChanged中的代碼結果更新顯示。一切正常,但我想在一段時間後退出到另一個活動。如何根據GPS時間切換活動

我試着在菜單中插入相同的代碼來切換位置偵聽器中的活動,但它不起作用。我收到一個錯誤。

if (dTime < -30){ 
     Intent target1 = new Intent(this, Waypoint2.class); 
     startActivity(target1); 
    } 

有誰知道如何做到這一點。谷歌和stackoverflow的搜索是空的。

UPDATE:

這個問題似乎是什麼被截拳道解決的組合,我要離開外景經理中期任務的事實。終點();語句將執行停止代碼,並將代碼更改爲此也有效,對於有此問題的任何人都更清楚。

  if (dTime < -30){ 
       //finish(); 
       if(lm != null) { 
        lm.removeUpdates(ll); 
       } 
       ll = null; 
       lm = null; 
       Intent target = new Intent(Start2.this, Waypoint2.class); 
       startActivity(target); 
      } 

// finish(); Intent是onStop部分的內容。

回答

0

錯誤可能是,方法意圖(LocationListener的,類)是不確定的,所以你需要通過將其替換:

Intent target1 = new Intent(context, Waypoint2.class); 

,其中上下文是活動的情況下,你可以得到活動的上下文如果LocationListener在同一個文件中實現,則顯式傳遞構造函數或YourActivityName.this作爲您的活動。

+0

我沒有收到編譯錯誤,但我得到了當我解決方案時遇到的那種錯誤。目標活動(Waypoint2)啓動,但20秒左右後,平板電腦鎖定並重新啓動。如果從主菜單中調用,Waypoints2運行良好。認爲它從主菜單工作,並完成()將它帶到主菜單我插入完成();在Intent聲明之前並且工作。 –