Geolocator.StatusChanged Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Muncul ketika kemampuan Geolocator untuk memberikan perubahan lokasi yang diperbarui.
// Register
event_token StatusChanged(TypedEventHandler<Geolocator, StatusChangedEventArgs const&> const& handler) const;
// Revoke with event_token
void StatusChanged(event_token const* cookie) const;
// Revoke with event_revoker
Geolocator::StatusChanged_revoker StatusChanged(auto_revoke_t, TypedEventHandler<Geolocator, StatusChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<Geolocator,StatusChangedEventArgs> StatusChanged;
function onStatusChanged(eventArgs) { /* Your code */ }
geolocator.addEventListener("statuschanged", onStatusChanged);
geolocator.removeEventListener("statuschanged", onStatusChanged);
- or -
geolocator.onstatuschanged = onStatusChanged;
Public Custom Event StatusChanged As TypedEventHandler(Of Geolocator, StatusChangedEventArgs)
Jenis Acara
Persyaratan Windows
Kemampuan aplikasi |
location
ID_CAP_LOCATION [Windows Phone]
|
Contoh
Contoh kode ini menunjukkan bagaimana peristiwa StatusChanged ditangani. Objek Geolokator memicu peristiwa StatusChanged untuk menunjukkan bahwa pengaturan lokasi pengguna berubah. Kejadian tersebut melewati status yang sesuai melalui properti Status argumen (dari jenis PositionStatus). Perhatikan bahwa metode ini tidak dipanggil dari utas UI dan objek Dispatcher memanggil perubahan UI. Untuk informasi selengkapnya, lihat Mendapatkan lokasi saat ini.
using Windows.UI.Core;
...
async private void OnStatusChanged(Geolocator sender, StatusChangedEventArgs e)
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
// Show the location setting message only if status is disabled.
LocationDisabledMessage.Visibility = Visibility.Collapsed;
switch (e.Status)
{
case PositionStatus.Ready:
// Location platform is providing valid data.
// notify user: Location platform is ready
break;
case PositionStatus.Initializing:
// Location platform is attempting to acquire a fix.
// notify user: Location platform is attempting to obtain a position
break;
case PositionStatus.NoData:
// Location platform could not obtain location data.
// notify user: Not able to determine the location
break;
case PositionStatus.Disabled:
// The permission to access location data is denied by the user or other policies.
// notify user: Access to location is denied
// Clear cached location data if any
break;
case PositionStatus.NotInitialized:
// The location platform is not initialized. This indicates that the application
// has not made a request for location data.
// notify user: No request for location is made yet
break;
case PositionStatus.NotAvailable:
// The location platform is not available on this version of the OS.
// notify user: Location is not available on this version of the OS
break;
default:
// unknown result
break;
}
});
}
Keterangan
Anda dapat mengakses informasi tentang peristiwa dengan objek StatusChangedEventArgs yang diteruskan ke penanganan aktivitas Anda.
Saat menggunakan geofence, gunakan peristiwa StatusChangedGeofenceMonitor untuk memantau perubahan izin lokasi alih-alih peristiwa ini dari kelas Geolocator. GeofenceMonitorStatus dari Dinonaktifkan setara dengan PositionStatusYang Dinonaktifkan - keduanya menunjukkan bahwa aplikasi tidak memiliki izin untuk mengakses lokasi.
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk