Xamarin.Essentials: Magnetometer
Kelas Magnetometer memungkinkan Anda memantau sensor magnetometer perangkat yang menunjukkan orientasi perangkat relatif terhadap medan magnet Bumi.
Memulai
Untuk mulai menggunakan API ini, baca panduan memulai untuk Xamarin.Essentials memastikan pustaka diinstal dan disiapkan dengan benar di proyek Anda.
Menggunakan Magnetometer
Tambahkan referensi ke Xamarin.Essentials di kelas Anda:
using Xamarin.Essentials;
Fungsi magnetometer bekerja dengan memanggil Start
metode dan Stop
untuk mendengarkan perubahan pada magnetometer. Setiap perubahan dikirim kembali melalui ReadingChanged
peristiwa. Berikut adalah contoh penggunaan:
public class MagnetometerTest
{
// Set speed delay for monitoring changes.
SensorSpeed speed = SensorSpeed.UI;
public MagnetometerTest()
{
// Register for reading changes.
Magnetometer.ReadingChanged += Magnetometer_ReadingChanged;
}
void Magnetometer_ReadingChanged(object sender, MagnetometerChangedEventArgs e)
{
var data = e.Reading;
// Process MagneticField X, Y, and Z
Console.WriteLine($"Reading: X: {data.MagneticField.X}, Y: {data.MagneticField.Y}, Z: {data.MagneticField.Z}");
}
public void ToggleMagnetometer()
{
try
{
if (Magnetometer.IsMonitoring)
Magnetometer.Stop();
else
Magnetometer.Start(speed);
}
catch (FeatureNotSupportedException fnsEx)
{
// Feature not supported on device
}
catch (Exception ex)
{
// Other error has occurred.
}
}
}
Semua data dikembalikan dalam μT (microteslas).
Kecepatan Sensor
- Tercepat - Dapatkan data sensor secepat mungkin (tidak dijamin akan kembali pada utas UI).
- Game – Rate cocok untuk game (tidak dijamin akan kembali pada utas UI).
- Default – Laju default yang cocok untuk perubahan orientasi layar.
- UI – Laju yang cocok untuk antarmuka pengguna umum.
Jika penanganan aktivitas Anda tidak dijamin berjalan pada utas UI, dan jika penanganan aktivitas perlu mengakses elemen antarmuka pengguna, gunakan MainThread.BeginInvokeOnMainThread
metode untuk menjalankan kode tersebut pada utas UI.