2013-05-27 4 views
0

내 앱에서 위치 기능을 사용할 때 앱이 내 위치를 얻을 수 있도록 허용하려면 처음 시작할 때 질문이 표시됩니다.내 위치를 사용할 때 이벤트를받는 방법?

나중에이 옵션을 자체적으로 구현하지 않고 charm bear보다 설정할 수 있습니다.

는 이제 질문 :

어떻게 사용자가 true 또는 false로 매력 표시 줄에서이 옵션을 변경하면 이벤트를 잡을 수 있습니까?

나는 그림, 그러나 창 8. 당신은 위치 서비스 변경을 잡으려고 GeoLocator StatusChanged 이벤트를 사용할 필요가 enter image description here

답변

0

자사의 독일어 버전을 추가했다.

이것은 C# 예제입니다. 프로그래밍 언어에 태그를 지정하지 않았지만이를 사용하여 아이디어를 얻고 선택한 언어로 사용할 수 있습니다.

Geolocator location; 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    location = new Geolocator(); 
    location.StatusChanged += location_StatusChanged; 
} 

async void location_StatusChanged(Geolocator sender, StatusChangedEventArgs args) 
{ 
    var new_status = args.Status; 
} 

는 당신이 얻을 수있는 여러 가지 상태가 있습니다 : 초기화

  • 이 NODATA
  • 장애인
  • notAvailable
  • 을 notInitialized을
  • 준비

이 (가)으로 비활성화되면 사용자가 위치 서비스 서비스 사용을 중지했음을 의미합니다. 다른 사용자 중 하나가 있으면 사용자에게 위치 서비스 권한이 설정되어 있음을 의미합니다. documentation에서

:

사용자가이를 해제 한 후 위치 액세스를 다시 활성화하면, 응용 프로그램에 더 알림이 없습니다. status 속성은 변경되지 않고 은 statusChanged 이벤트가 아닙니다. 앱에서 새로운 Geolocator 개체를 만들고 getGeopositionAsync를 호출하여 업데이트 된 위치 인 데이터를 얻거나 positionChanged 이벤트에 다시 가입해야합니다. 상태가 다시 활성화되었음을 나타내면 앱이 사용자에게 이전에 위치 서비스가 사용 중지되었다고 알리는 UI를 지우고 새 지위에 적절하게 응답합니다.

+0

문제는 내가 다시 사용할 수 없도록 설정하고 다시 활성화하면 location_StatusChanged 이벤트가 발생하지 않는다는 것입니다. – gurehbgui

+0

그것이 작동하는 방식입니다. 앱의 문제는 아닙니다. 이를 해결하기 위해'PositionChanged' 이벤트와'GetGeopositionAsync' 메쏘드를 사용할 수 있습니다 만, 100 % 확신 할 수는 없으며 정의한 리포트 간격에 따라 다소 지연 될 것입니다. – letiagoalves

관련 문제