2017-04-06 1 views
0

를 다시 시작, 나는 구글지도는 다음과 같은 조각에서 시작 :시작 구글지도, 그러나 활동으로 돌아가 내 응용 프로그램에서

mBtnMap.setOnClickListener(new View.OnClickListener() { 
... 
    String uri = String.format(locale, "geo:%f,%f", latitude, longitude); 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));  
    getActivity().startActivity(intent); 
... 

나는, 다시 버튼을 누르면 내 응용 프로그램 다시 시작하지만 활동이 다시 시작됩니다. Google Map startActivity()가 호출 된 부분으로 돌아가 길 원합니다.

활동을 다시 시작하게 만드는 비정상적인 행동을 했습니까?
내 목적을 달성하는 방법은 무엇입니까?

+0

찾기 년 manidest 파일에 ""singleTop을? –

+0

당신의'Activity', 특히'onCreate()','onResume()'과'onDestroy()'에 로깅을 추가하고 실제로 호출되는 라이프 사이클 메소드를 확인하십시오. 당신이 묘사 한 행동은 이상하고 비표준입니다. Google지도 프로세스를 시작하려면 기기의 메모리가 부족하여 앱 프로세스를 중단해야 할 수 있습니다. 이 경우 '활동'이 다시 시작됩니다. 그러나 로깅을 추가하고 이것이 실제로 일어나고 있는지 확인하십시오. –

+0

나에게 다른 제안이 없으므로 나중에 귀하의 제안을 시도하겠습니다. 지금은 startActivityResult를 사용하여 Google지도 활동을 시작함으로써 문제를 해결했습니다. 왜 그런지 모르지만 지금은 해결하십시오. 이론이 있다면 공유하십시오. – Sean

답변

0

u는 "안드로이드 : launchMode ="추가하려면 솔루션

try{ 
    String uri = String.format(locale, "geo:%f,%f", latitude, longitude); 
    Intent mapIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 
    mapIntent.setPackage("com.google.android.apps.maps"); 
    startActivity(mapIntent); 
    }catch(Exception e){ 
    // ActivityNotFoundException 
    } 
+0

그리고 이것이 OP의 원래 코드와 어떻게 다른가요? 여기서 다르게 한 것은 무엇입니까? –

관련 문제