SensorManager 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
SensorManager 讓你能存取裝置的 android.hardware.Sensor
sensors.
[Android.Runtime.Register("android/hardware/SensorManager", DoNotGenerateAcw=true)]
public abstract class SensorManager : Java.Lang.Object
[<Android.Runtime.Register("android/hardware/SensorManager", DoNotGenerateAcw=true)>]
type SensorManager = class
inherit Object
- 繼承
- 屬性
備註
SensorManager 讓你能存取裝置的 android.hardware.Sensor sensors.
務必關閉不需要的感測器,尤其是在活動暫停時。 若未做到,電池可能在幾小時內耗盡。 請注意,系統 不會 在螢幕關閉時自動關閉感應器。
注意:不要用這個機制搭配觸發感應器,可以參考 TriggerEventListener。
Sensor#TYPE_SIGNIFICANT_MOTION 是觸發感測器的一個範例。
為了在高取樣率下存取感測器資料(例如,對於SensorEventListenerSensorDirectChannel#RATE_NORMALSensorDirectChannel且高於 ),應用程式必須在 AndroidManifest.xml 檔案中宣告權限。android.Manifest.permission#HIGH_SAMPLING_RATE_SENSORS
public class SensorActivity extends Activity implements SensorEventListener {
private final SensorManager mSensorManager;
private final Sensor mAccelerometer;
public SensorActivity() {
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
protected void onPause() {
super.onPause();
mSensorManager.unregisterListener(this);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
}
}
Java 文件 android.hardware.SensorManager。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| SensorManager(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
欄位
| 名稱 | Description |
|---|---|
| GravityDeathStarI |
帝國單位中第一死星的重力估計(m/s^2) |
| GravityEarth |
地球重力單位單位(m/s^2) |
| GravityJupiter |
木星的重力單位單位(m/s^2) |
| GravityMars |
火星的重力單位為國際單位制(m/s^2) |
| GravityMercury |
以國際單位制單位表示的水星重力(m/s^2) |
| GravityMoon |
月球重力以國際單位制(m/s^2)為單位 |
| GravityNeptune |
海王星的重力單位單位(m/s^2) |
| GravityPluto |
冥王星的重力單位單位(m/s^2) |
| GravitySaturn |
土星的重力單位單位(m/s^2) |
| GravitySun |
太陽的重力單位單位(m/s^2) |
| GravityTheIsland |
島上的重力 |
| GravityUranus |
天王星的重力單位為單位(m/s^2) |
| GravityVenus |
金星重力單位單位(m/s^2) |
| LightCloudy |
在Lux中,陰雲密布的天空下的光輝 |
| LightFullmoon |
夜晚亮度,滿月時光度為 |
| LightNoMoon |
在光輝度下夜晚無月光的亮度 |
| LightOvercast |
陰天天空下的亮度,在勒克斯 |
| LightShade |
亮度在光度中 |
| LightSunlight |
以勒克斯計的陽光亮度 |
| LightSunlightMax |
以勒克斯計的太陽光最大亮度 |
| LightSunrise |
日出時的亮度(勒克斯) |
| MagneticFieldEarthMax |
地球表面最大磁場 |
| MagneticFieldEarthMin |
地球表面的最小磁場 |
| PressureStandardAtmosphere |
標準大氣,或以hPa(毫巴)為單位的平均海平面壓力 |
| StandardGravity |
地球上的標準重力(g)。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| IsDynamicSensorDiscoverySupported |
判斷系統是否支援動態感測器發現功能。 |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
SensorManager 讓你能存取裝置的 |
| JniPeerMembers |
SensorManager 讓你能存取裝置的 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| Sensors |
已淘汰.
此會員已被棄用。 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
方法
| 名稱 | Description |
|---|---|
| CancelTriggerSensor(TriggerEventListener, Sensor) |
取消觸發感測器接收觸發事件。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
SensorManager 讓你能存取裝置的 |
| CreateDirectChannel(HardwareBuffer) |
建立一個感測器直接通道,並由共用記憶體包裝在 HardwareBuffer 物件中。 |
| CreateDirectChannel(MemoryFile) |
建立一個感測器直接通道,並由 MemoryFile 物件包裹的共享記憶體作為後盾。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
SensorManager 讓你能存取裝置的 |
| Equals(Object) |
SensorManager 讓你能存取裝置的 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| Flush(ISensorEventListener) |
清除所有為此聽眾註冊的感測器的FIFO。 |
| FromContext(Context) |
SensorManager 讓你能存取裝置的 |
| GetAltitude(Single, Single) |
計算大氣壓力與海平面壓力的高度(公尺)。 |
| GetAngleChange(Single[], Single[], Single[]) |
輔助函數用於計算兩個旋轉矩陣間的角度變化。 |
| GetDefaultSensor(SensorType, Boolean) |
回傳一個帶有特定類型和喚醒屬性的感測器。 |
| GetDefaultSensor(SensorType) |
用這個方法取得特定類型預設的感測器。 |
| GetDynamicSensorList(SensorType) |
使用此方法可取得特定類型動態感測器的清單。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetInclination(Single[]) |
從傾角矩陣 <b>I</b> 由 返回 |
| GetOrientation(Single[], Single[]) |
根據旋轉矩陣計算裝置的方向。 |
| GetQuaternionFromVector(Single[], Single[]) |
輔助函數將旋轉向量轉換為正規化的四元數。 |
| GetRotationMatrix(Single[], Single[], Single[], Single[]) |
計算傾角矩陣 <b I></b> 以及旋轉矩陣 <b>R</b>,將向量從裝置座標系轉換為世界座標系,定義為直接正交標準基底,其中: |
| GetRotationMatrixFromVector(Single[], Single[]) |
輔助函數,將旋轉向量轉換成旋轉矩陣。 |
| GetSensorList(SensorType) |
使用此方法取得特定類型感測器的可用清單。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| RegisterDynamicSensorCallback(SensorManager+DynamicSensorCallback, Handler) |
新增 以 |
| RegisterDynamicSensorCallback(SensorManager+DynamicSensorCallback) |
新增 以 |
| RegisterListener(ISensorEventListener, Sensor, SensorDelay, Handler) |
會為該感測器註冊 a |
| RegisterListener(ISensorEventListener, Sensor, SensorDelay, Int32, Handler) |
在給定取樣頻率及最大報告延遲下,為給定感測器註冊 a |
| RegisterListener(ISensorEventListener, Sensor, SensorDelay, Int32) |
在給定取樣頻率及最大報告延遲下,為給定感測器註冊 a |
| RegisterListener(ISensorEventListener, Sensor, SensorDelay) |
在給定取樣頻率下,對給定感測器進行 A |
| RegisterListener(ISensorListener, Int32, SensorDelay) |
已淘汰.
為特定感測器註冊一個 SensorListener。 |
| RegisterListener(ISensorListener, Int32) |
已淘汰.
會註冊給特定感測器的監聽器。 |
| RemapCoordinateSystem(Single[], Axis, Axis, Single[]) |
旋轉所提供的旋轉矩陣,使其以不同的座標系表示。 |
| RequestTriggerSensor(TriggerEventListener, Sensor) |
請求接收觸發感測器的觸發事件。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
SensorManager 讓你能存取裝置的 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterDynamicSensorCallback(SensorManager+DynamicSensorCallback) |
移除 a |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| UnregisterListener(ISensorEventListener, Sensor) |
取消註冊該感測器的監聽器。 |
| UnregisterListener(ISensorEventListener) |
取消所有感測器的監聽器註冊。 |
| UnregisterListener(ISensorListener, Int32) |
已淘汰.
取消註冊該感測器的監聽器。 |
| UnregisterListener(ISensorListener) |
已淘汰.
取消所有感測器的監聽器註冊。 |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
SensorManager 讓你能存取裝置的 |
| IJavaPeerable.Finalized() |
SensorManager 讓你能存取裝置的 |
| IJavaPeerable.JniObjectReferenceControlBlock |
SensorManager 讓你能存取裝置的 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
SensorManager 讓你能存取裝置的 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
SensorManager 讓你能存取裝置的 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
SensorManager 讓你能存取裝置的 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
SensorManager 讓你能存取裝置的 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |