Android UserHandle API 是一個用于處理用戶相關操作的類
UserHandle
類的 myUserId()
方法。例如:int currentUserId = android.os.UserHandle.myUserId();
UserManager
類。首先,您需要獲取 UserManager
實例,然后使用 getUsers()
或 getUserProfiles()
方法來獲取用戶列表。例如:UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
List<UserHandle> userHandles = userManager.getUserProfiles();
ActivityManager
類的 switchUser()
方法。但是,請注意,這需要系統級權限,通常只在系統應用中使用。例如:ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
activityManager.switchUser(targetUserId);
Intent.ACTION_USER_SWITCHED
動作。例如:public class UserSwitchReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_USER_SWITCHED.equals(intent.getAction())) {
int newUserId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
// 處理用戶切換事件
}
}
}
然后,在 AndroidManifest.xml 文件中注冊此廣播接收器:
<receiver android:name=".UserSwitchReceiver">
<intent-filter>
<action android:name="android.intent.action.USER_SWITCHED" />
</intent-filter>
</receiver>
請注意,UserHandle API 主要用于多用戶支持,適用于 Android 4.2(API 級別 17)及更高版本。在使用這些 API 時,請確保檢查設備是否支持多用戶,并根據需要處理不支持的情況。