2014-07-22 5 views
0

GooglePlayServicesClient.ConnectionCallbacks를 구현하는 활동이 있습니다. 런처 아이콘을 누르면 onCreate 전에 onConnected가 실행 된 로그에 따라 즉시 위치가 계산됩니다. 다음이 가능합니까?android 위치 서비스 및 활동주기

처음에 앱을 설치하고 여는 후 위치가 계산됩니다. 더 많은 계산을하려면 사용자가 새로 고침 버튼을 눌러야합니다.

위치를 사용하여 해당 위치와 관련된 데이터가있는 DialogFragment를 즉시 열 수 있기 때문에이 작업을 수행합니다. 대화 상자에서 항목을 선택하면 사용자는 대화 상자의 일부인 결과로 결과를 보게됩니다.

그래서 사용자가 같은 주변에 있으면 앱을 열 때마다 대화 상자 팝업이 표시되는 것을 원하지 않으며 이전에 채워진 활동 만 표시됩니다.

@Override 
public void onConnected(Bundle dataBundle) { 
    Log.d("MY_DEBUG", "In SelectActivity's onConnected. Successfully connected to loc services"); 
    mCurrentLocation = mLocationClient.getLastLocation(); 
    // Display the connection status 
    Toast.makeText(this, "Connected", Toast.LENGTH_SHORT).show(); 
    showListingDialog(); 
} 
+0

예, 할 수있는 일을하는 것이 가능하다고 생각합니다. 관련 코드를 게시하는 것이 도움이됩니다. – mikejonesguy

+0

원래 질문보기 –

답변

0

당신은 같은 클래스에 부울 플래그를 추가 할 수 있습니다

private boolean didShowListingDialog = false; 

... 당신이 확인하고 그래서 같이 showListingDialog 내부 true로 설정되는 :

private void showListingDialog() { 
    if (!didshowListingDialog) { 
     didshowListingDialog = true; 
     // show the dialog here 
    } 
} 

대화 상자가 다시 표시되도록하려면 플래그를 다시 false로 설정할 수 있습니다.