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 时,请确保检查设备是否支持多用户,并根据需要处理不支持的情况。