android新建用户删除app

一、android Q

1.创建用户
newUserInfo = userManager.createUser(addingUserName, 0);
为新用户添加app(app主用或其他户已安装)
iPackageManager.installExistingPackageAsUser(packageName, userHandle.getIdentifier(),0,PackageManager.INSTALL_REASON_UNKNOWN, null);
为新用户删除app(app主用或其他户已安装)
iPackageManager.deletePackageAsUser(packageName, PackageManager.VERSION_CODE_HIGHEST, null, userHandle.getIdentifier(),PackageManager.DELETE_SYSTEM_APP);
2.framework中为新用户屏蔽app
private UserInfo createUserInternalUnchecked(String name, int flags, int parentId,
String[] disallowedPackages) {
String restriction = ((flags & UserInfo.FLAG_MANAGED_PROFILE) != 0)
? UserManager.DISALLOW_ADD_MANAGED_PROFILE
: UserManager.DISALLOW_ADD_USER;
if (hasUserRestriction(restriction, UserHandle.getCallingUserId())) {
Log.w(LOG_TAG, “Cannot add user. " + restriction + " is enabled.”);
return null;
}
//Add by max start
int nums = 0;
if (null != disallowedPackages) {
nums == disallowedPackages.length;
}
String [] addDisableallowPackages = {"com.android.xxxx’};
String [] mDisableallowPackages = new String[nums + addDisableallowPackages.length];
if (nums > 0) {
int i = 0;
for (String s : disallowedPackages) {
mDisableallowPackages[i] = s;
}
for (String s : addDisableallowPackages ) {
mDisableallowPackages[i] = s;
}
disallowedPackages = mDisableallowPackages
} else {
disallowedPackages = addDisableallowPackages;
}
//Add by max end

}

二、android R

1.data/etc/preinstalled-packages-platform.xml

106 107 108 109 110 111 112 113 添加要在其它用户不安装的包名 114

详情https://source.android.google.cn/devices/tech/config/preinstalled-packages

2.在/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
3365 private UserInfo createUserInternalUncheckedNoTracing(@Nullable String name,
3366 @NonNull String userType, @UserInfoFlag int flags, @UserIdInt int parentId,
3367 boolean preCreate, @Nullable String[] disallowedPackages,
3368 @NonNull TimingsTraceAndSlog t) throws UserManager.CheckedUserOperationException {

3528 final Set userTypeInstallablePackages =
3529 mSystemPackageInstaller.getInstallablePackagesForUserType(userType);
//添加
userTypeInstallablePackages .remove(“com.android.xxxx”);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Android Studio的用户管理类App可以是一个用于管理和控制用户信息的应用程序。该应用程序可以允许管理员或用户创建、编辑、删除和搜索用户信息。 首先,我们可以使用Android Studio创建一个新的项目,并设计应用程序的用户界面。用户管理类App的主要界面可以包括一个用户列表,显示所有已经注册的用户用户列表可以显示用户的姓名、电话号码、电子邮件和其他相关信息。 在用户管理类App中,我们可以添加一个注册用户的功能。用户可以通过填写必要的字段,如姓名、电话号码、电子邮件等,来创建一个新的用户。在注册用户功能中,我们还可以添加数据验证,以确保用户输入的数据格式正确。 此外,用户管理类App还可以提供编辑和删除用户的功能。用户可以选择一个已注册的用户,并对其信息进行编辑。编辑功能可以允许用户更改用户的姓名、电话号码、电子邮件等信息。当用户删除一个用户时,该用户的信息将被从用户列表中删除。 为了提高用户体验和搜索用户的便捷性,我们可以添加搜索用户的功能。用户可以使用关键字来搜索用户列表,并根据姓名、电话号码、电子邮件等关键字进行筛选。搜索功能能够帮助用户快速找到他们需要的用户信息。 最后,为了确保用户数据的安全,我们可以添加登录和权限控制的功能。用户可以通过提供用户名和密码进行登录,并只有在成功登录后才能访问用户管理类App。管理员可以管理用户的访问权限,例如只允许管理员编辑和删除用户信息,而用户只能查看自己的信息。 总之,基于Android Studio的用户管理类App可以成为一个强大的工具,用于管理和控制用户信息。这个应用程序可以提供注册、编辑、删除、搜索和权限控制等功能,帮助用户高效地管理用户数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值