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

Cách lấy tên thiết bị Android bằng lập trình

Giới thiệu

Hướng dẫn này trình bày cách lấy tên thiết bị Android (device name) thông qua code lập trình. Chúng ta sẽ tạo một ứng dụng đơn giản hiển thị tên thiết bị lên TextView.

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, điền đầy đủ thông tin cần thiết để tạo dự án mới.

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">

    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

Trong layout trên, chúng ta sử dụng một TextView để hiển thị tên thiết bị.

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

package com.example.myapplication;

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.text);

        // Kiểm tra và yêu cầu quyền READ_PHONE_STATE
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) 
                != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, 
                new String[]{Manifest.permission.READ_PHONE_STATE}, 101);
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == 101) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) 
                        == PackageManager.PERMISSION_GRANTED) {
                    // Lấy tên thiết bị từ Build.DEVICE
                    textView.setText(Build.DEVICE);
                }
            }
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) 
                == PackageManager.PERMISSION_GRANTED) {
            textView.setText(Build.DEVICE);
        }
    }
}

Lưu ý: Code đã được cập nhật để sử dụng AndroidX (thay vì thư viện support cũ) và sửa lỗi so sánh == thay vì = =.

Bước 4: Cấu hình quyền trong AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Chạy ứng dụng

Kết nối thiết bị Android thật với máy tính. Trong Android Studio, mở file activity và nhấn biểu tượng Run trên thanh công cụ. Chọn thiết bị di động của bạn làm thiết bị triển khai. Màn hình thiết bị sẽ hiển thị tên thiết bị (ví dụ: "walleye" cho Pixel 2, "beyond1" cho Galaxy S10, v.v.).

Giải thích quan trọng

  • Build.DEVICE: Trả về tên mã của thiết bị phần cứng (industrial design name).
  • Quyền READ_PHONE_STATE: Cần thiết từ Android 6.0 (API 23) trở lên để truy cập thông tin thiết bị.
  • Thay thế: Nếu cần tên thương mại (như "Pixel 2", "Galaxy S10"), hãy sử dụng Build.MODEL hoặc Build.PRODUCT.