Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách kiểm tra thiết bị Android hỗ trợ cảm biến từ trường (Magnetic Field)

Giới thiệu

Ví dụ này minh họa cách kiểm tra hỗ trợ cảm biến từ trường (Magnetic Field) - thực chất là cùng một cảm biến với Magnetometer (TYPE_MAGNETIC_FIELD).

Các bước thực hiện

Bước 1: Tạo dự án mới

Mở Android Studio, chọn File → New Project.

Bước 2: Thiết kế giao diện (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <TextView
        android:id="@+id/actionEvent"
        android:textSize="40sp"
        android:layout_marginTop="30dp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>

Bước 3: Viết logic (src/MainActivity.java)

package com.example.myapplication;

import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private SensorManager sensorManager;

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView actionEvent = findViewById(R.id.actionEvent);
        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

        if (sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD) != null) {
            actionEvent.setText("Hỗ trợ cảm biến từ trường");
        } else {
            actionEvent.setText("Không hỗ trợ cảm biến từ trường");
        }
    }
}

Trùng lặp với bài kiểm tra Magnetometer (ID 1003061212), cả hai đều dùng Sensor.TYPE_MAGNETIC_FIELD.

Chạy ứng dụng

Kết quả giống hệt bài kiểm tra Magnetometer.

Cách kiểm tra thiết bị Android hỗ trợ cảm biến từ trường (Magnetic Field)