2013-09-28 36 views
3

基本上我用下面的代碼到活動如何從另一個

String uri = "google.navigation:ll="+LAT+","+LNG; 
        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 
        startActivity(i); 

LAT & LNG是特定目的地的座標中打開谷歌導航關閉的意向活動。基本上我試圖做的是一旦達到目的地,就會觸發導航活動關閉並返回到它打開的同一類的行動。

任何幫助將不勝感激。

編輯: 我猜想因爲我打開「Google導航」的活動超出了我的控制範圍,所以無法從應用程序中關閉它。所以最好的解決方案是在到達目的地後重新打開當前活動。

欣賞所有答案。

+0

,一旦你在航海活動是如何是U切換另一項活動。 –

+0

@ShakeebShaheen我想要做的就是在達到目的地後關閉導航活動。 – aasg

+0

也許你可以看到這個帖子 [安卓如何關閉的意圖是什麼?] [1] [1]:http://stackoverflow.com/questions/4108446/android-how-to-close - 意圖 –

回答

0

使用finish()方法來結束活動

+0

問題是'完成'方法可以用來關閉一個活動之後說你開始另一個活動後,但我在找什麼是我如何完成從另一個活動的導航活動 – aasg

0

使用光潔度()以殺死活性。

+0

我想你錯過了解我的問題是,我不打算關閉當前的活動,我想關閉我從活動中打開的活動,如果這樣做有意義 – aasg

0

添加Finish()方法來結束一個活動@

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 
startActivity(i); 
finish(); 
+0

這會關閉當前活動,而不是打開的活動。我的問題是我如何關閉從當前活動內部打開的活動 – aasg

+0

想要關閉以前打開的活動從當前活動,是嗎? – RobinHood

+0

不,我想關閉從當前打開的導航活動。問題是我無法訪問導航類,因爲它是按原樣提供的,所以我必須能夠從我打開導航活動的類中關閉它。 – aasg

0

如果按後退按鈕,將工作!不要完成()以前的活動。 當你開始意圖時,不要致電finish()。一旦你完成導航按返回鍵

+0

是的,它有,但是有沒有可以完成的方法編程? – aasg

+0

@aasg是的,你也可以這樣做 – Metalhead1247

+0

你可以提供一種方法嗎? – aasg

0

也許你應該把線程來比較目的地和當前位置。 像這樣:

Thread thread = new Thread(){ 
    @Override 
    public void run() { 
     // TODO: Do your work here 
     myHandler.sendMessage(new Message()); 
    } 
}; 

創建一個處理程序和實施方法的handleMessage。

Handler myHandler = new Handler(){ 
    @Override 
    public void handleMessage(Message msg) { 
     // TODO: finish the activity here 
     finish(); 
    } 
}; 
+0

我已經能夠計算出差異,但是我遇到的問題是如何在達到位置後關閉導航活動 – aasg

+0

new new Handler並實現handleMessage方法,將處理程序傳遞給用於計算的類不同的是,一旦位置到達,就會向該處理程序發送消息。 – Hubert

1

使用Finish()方法殺死你的活動作爲

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 

startActivity(intent); 

finish(); 
2

使用結束()方法來結束第一個活動