2011-03-16 1 views
2

중 변경 같은 값을 반환 "resultCode"는 gps 설정에서 "on"하거나 "on"하지 않고 돌아 오는 것과 같은 값을 반환합니다. userData()를 호출하고 싶지 않습니다. 사용자가 GPS 설정을 "켜기"로하지 않은 경우. 문제requestCode가 코드는 사용자가 GPS에 대한 옵션을 확인하거나 나는 다음과 같은 메소드를 호출하고 있지

문제는 당신이 활동을 시작할 수 있습니다
+0

GPS_LOC의 가치는 무엇인가? – Blundell

+0

보호 된 정적 최종 int GPS_LOC = 5; – Pankaj

+0

코드를 실행할 때 resultCode = what? 및 requestCode = 무엇? – Blundell

답변

1

로 봐주세요 :

android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS 

을 결과를 위해.

따라서 requestCode는 활동에서 반환되지 않습니다.

왜 결과를 시작 하시겠습니까? 그들이 GPS를 켰는 지 확인하는 것입니까? 그렇다면 활동이 반환 될 때 다시 확인하십시오. 다른 이유로 인해 startActivityForResult의 용도가 무엇인지 파악하지 못했습니다.

관련 질문 : getting-back-from-location-to-my-application

+0

사실, "켜기"GPS 설정을 "off"로 설정하고 내 앱을 계속 진행하고 싶을 때 사용합니다. 여전히 '꺼짐'상태이고 사용자가 GPS 설정을 '켜기'로 설정하지 않았다면 앱을 닫고 앱을 더 이상 진행하지 않아야합니다. 어떻게 구현할 수 있는지 제발 도와 주실 수 있겠습니까? 고맙습니다 ... – Pankaj

+1

예, GPS를 사용하고 있다면 LocationManager를 확인하십시오. 사용자에게 사용 중지 사실을 알리지 않고 finish()를 호출하면 코드를 확인하지 마십시오. ; – Blundell

+0

위대한, 그것은 나를 도울 것입니다 ... :) – Pankaj

0

무슨 말인지 이해하고 나는 몇 일 전에 같은 문제가 있었다.

경우에 따라 위치 소스 설정 활동에서 결과 코드를 설정하지 않으므로 onActivityResult를 사용하지 않아야합니다.

원하는 것을 얻으려면 onResume() 메소드에서 뭔가를해야합니다. GPS 위치 소스 설정 활동이 완료되면 onResume() 메소드가 호출됩니다. 따라서 onResume에서 GPS를 켜고 끌 수 있습니다.

처음으로 앱을 시작할 때 onResume이 onCreate 이후에 호출됩니다. 따라서 onResume은 onCreate 이후 또는 GPS 설정 활동 후에 호출하도록 결정해야합니다.

아래는 샘플 코드

void onCreate(){ 
    //do something 
    Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
    startActivity(intent);} 

void onResume(){ 
    if (firstTime){ 
     // do something 
     firstTime = false; 
    } 
    else{ // it's from GPS setting activity 
    //check your gps again with your logic here 
    } 
}