Giới thiệu
Bài viết này hướng dẫn cách xác định xem người dùng hiện tại trên thiết bị Android có phải là người dùng hệ thống (system user) hay không. Từ Android 7.0 (API 24), bạn có thể sử dụng phương thức UserManager.isSystemUser() để kiểm tra nhanh chóng.
Các bước thực hiện
Bước 1: Tạo project mới
Mở Android Studio, chọn File → New Project, điền thông tin cần thiết và tạo project.
Bước 2: Thiết kế giao diện (res/layout/activity_main.xml)
Sử dụng một TextView đơn giản để hiển thị kết quả:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp" />
</LinearLayout>
Bước 3: Viết code logic (MainActivity.java)
package com.example.myapplication;
import android.os.Build;
import android.os.Bundle;
import android.os.UserManager;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textView;
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text);
UserManager userManager = (UserManager) getSystemService(USER_SERVICE);
boolean isSystemUser = userManager.isSystemUser();
textView.setText("Người dùng hệ thống: " + isSystemUser);
}
}
Giải thích
UserManagercung cấp phương thứcisSystemUser()trả vềtruenếu người dùng đang chạy là người dùng hệ thống (chủ sở hữu thiết bị), ngược lại trả vềfalsecho người dùng thứ cấp hoặc khách.- Chú thích
@RequiresApi(api = Build.VERSION_CODES.N)đảm bảo code chỉ chạy trên Android 7.0+.
Chạy ứng dụng
Kết nối thiết bị thật, nhấn Run trong Android Studio. Màn hình sẽ hiển thị "Người dùng hệ thống: true" hoặc "false" tùy thuộc vào tài khoản đang đăng nhập.