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 Trọng lực (Gravity)

Giới thiệu

Ví dụ này minh họa cách kiểm tra hỗ trợ cảm biến Trọng lực (Gravity Sensor) - một cảm biến phần mềm kết hợp gia tốc kế và gyroscope để ước lượng vector trọng lực.

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_GRAVITY) != null) {
            actionEvent.setText("Hỗ trợ cảm biến Trọng lực");
        } else {
            actionEvent.setText("Không hỗ trợ cảm biến Trọng lực");
        }
    }
}

Cảm biến TYPE_GRAVITY cung cấp vector trọng lực 3 trục, loại bỏ gia tốc do chuyển động của người dùng.

Chạy ứng dụng

Chạy trên thiết bị thật. Kết quả hiển thị hỗ trợ hay không.

Cách kiểm tra thiết bị Android hỗ trợ cảm biến Trọng lực (Gravity)