Freigeben über


Accelerometer Klasse

Definition

Stellt einen Beschleunigungssensor dar.

Dieser Sensor gibt G-Force-Werte in Bezug auf die x-, y- und z-Achsen zurück.

Eine Beispielimplementierung finden Sie im Beschleunigungsmesserbeispiel.

public ref class Accelerometer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Accelerometer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Accelerometer
Public NotInheritable Class Accelerometer
Vererbung
Object Platform::Object IInspectable Accelerometer
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Hinweise

Anwendungen verwenden die Methoden in dieser Klasse, um zu bestimmen, ob sich der Sensorwert geändert hat oder das Gerät gerüttelt wurde.

Anwendungen verwenden die Eigenschaften in dieser Klasse, um das Sensorberichtsintervall abzurufen und anzupassen.

Sensordaten werden relativ zum festen Sensorkoordinatensystem des Geräts bereitgestellt und sind unabhängig von der Anzeigeausrichtung. Bei Anwendungen, die sensordaten zur Eingabesteuerung oder zum Bearbeiten von Elementen auf dem Bildschirm verwenden, muss der Entwickler die aktuelle Anzeigeausrichtung berücksichtigen und die Daten entsprechend kompensieren. Weitere Informationen zum Sensorkoordinatensystem finden Sie unter Sensordaten und Anzeigeausrichtung.

Im folgenden Beispiel wird veranschaulicht, wie eine mit XAML und C# erstellte UWP-App die GetDefault-Methode verwendet, um eine Verbindung mit einem Beschleunigungsmesser herzustellen. Wenn kein integrierter Beschleunigungsmesser gefunden wird, gibt die Methode einen NULL-Wert zurück.

_accelerometer = Accelerometer.GetDefault();

Im folgenden Beispiel wird veranschaulicht, wie eine mit XAML erstellte UWP-App einen ReadingChanged-Ereignishandler registriert.

private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_accelerometer != null)
    {
        // Establish the report interval
        _accelerometer.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _accelerometer.ReadingChanged += new TypedEventHandler<Accelerometer, AccelerometerReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No accelerometer found", NotifyType.StatusMessage);
    }
}

Das folgende Beispiel zeigt den ReadingChanged-Ereignishandler .

async private void ReadingChanged(object sender, AccelerometerReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        AccelerometerReading reading = e.Reading;
        ScenarioOutput_X.Text = String.Format("{0,5:0.00}", reading.AccelerationX);
        ScenarioOutput_Y.Text = String.Format("{0,5:0.00}", reading.AccelerationY);
        ScenarioOutput_Z.Text = String.Format("{0,5:0.00}", reading.AccelerationZ);
    });
}

Versionsverlauf

Windows-Version SDK-Version Wertschöpfung
1607 14393 GetDefault(AccelerometerReadingType)
1607 14393 ReadingType
1709 16299 FromIdAsync
1709 16299 GetDeviceSelector
2004 19041 ReportThreshold

Eigenschaften

DeviceId

Ruft den Gerätebezeichner ab.

MaxBatchSize

Ruft die maximale Anzahl von Ereignissen ab, die vom Sensor batched werden können.

MinimumReportInterval

Ruft das minimale Berichtsintervall ab, das vom Beschleunigungsmesser unterstützt wird.

ReadingTransform

Ruft die Transformation ab, die auf Sensordaten angewendet werden muss, oder legt diese fest. Transformationen, die angewendet werden sollen, sind an die Anzeigeausrichtung gebunden, an der die Sensordaten ausgerichtet werden sollen.

ReadingType

Ruft den Typ des Beschleunigungssensors ab, der von diesem Objekt dargestellt wird.

ReportInterval

Ruft das aktuelle Berichtsintervall für den Beschleunigungsmesser ab oder legt es fest.

ReportLatency

Ruft die Verzögerung zwischen Batches von Sensorinformationen ab oder legt diese fest.

ReportThreshold

Ruft den AccelerometerDataThreshold für den Beschleunigungssensor ab.

Methoden

FromIdAsync(String)

Ruft den Sensor asynchron aus seinem Bezeichner ab.

GetCurrentReading()

Ruft den aktuellen Beschleunigungsmesser-Wert ab.

GetDefault()

Gibt den Standard-Beschleunigungsmesser zurück.

GetDefault(AccelerometerReadingType)

Gibt den Standard-Beschleunigungsmesser eines bestimmten Sensortyps zurück. Die möglichen Beschleunigungsmessersensoren werden durch AccelerometerReadingType definiert.

GetDeviceSelector(AccelerometerReadingType)

Ruft die Geräteauswahl ab.

Ereignisse

ReadingChanged

Tritt jedes Mal auf, wenn der Beschleunigungsmesser einen neuen Sensorwert meldet.

Shaken

Tritt auf, wenn der Beschleunigungsmesser erkennt, dass der PC geschüttelt wurde.

Gilt für:

Weitere Informationen