问题标签 [device-policy-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android-7.0-nougat - 无法在android 7中更改当前密码
我的应用程序具有设备管理能力。当我尝试在 android 7 中更新当前密码时,出现此“java.lang.SecurityException:管理员无法更改当前密码”异常。它在 android 6 中运行。请告诉我如何在牛轧糖中重置我的密码。
android - 获取设备范围内活动/已安装设备管理员的列表
应用程序是否可以获取设备范围内活动和已安装设备管理员的列表?
DevicePolicyManager.getActiveAdmins() 能够获取活动(启用)设备管理员的列表,而 PackageManager.queryBroadcastReceivers() 能够获取已安装设备管理员的列表。但是,他们只能在自己的用户上下文中获取列表。在多用户环境中,他们无法获取设备范围的列表(在 Nexus 5 上的 Android M 上测试)。
我问是因为显然在三星 Knox 容器中,getActiveAdmins() 返回设备范围的列表(包括 MyKnox 代理),而 queryBroadcastReceivers() 返回容器内的列表(在 Galaxy S6 上的 Android L 和 Android M/N 上测试银河 S7)。
我了解 Knox 利用 Android 的多用户功能来实现容器,但显然 Android 的多用户容器和 Knox 容器之间存在一些行为差异。我希望能够从 Knox 容器中获取活动和已安装设备管理员的合法列表。现在我知道 MyKnox 代理处于活动状态(通过 getActiveAdmins())但尚未安装(通过 queryBroadcastReceivers())。这根本不符合逻辑。
android - 针对多个操作系统版本的设备所有者 NFC 配置;棒棒糖 5.0+
我正在使用 NFC 配置设备。正在配置的目标设备(provisionees)在 Google 向导中(接收设备处于开箱即用或出厂重置状态)并运行 Lollipop 5.0 或更高版本。预配器是一个 Android 设备,它也可以运行 Lollipop 5.0 或更高版本,但可以说它运行的是 Nougat 7.1.2。随着每个 Android 操作系统的发布,新的配置“EXTRAS”被添加到 DevicePolicyManager,而其他配置则被贬低。
是否有关于如何通过 NFC 跨多个操作系统版本定位设备的“最佳实践”?注意:使用 android.os.Build.VERSION.SDK_INT 将不起作用,因为它是提供者的版本,而不是提供者的版本。
主要问题:有没有办法使用单个配置应用程序覆盖所有操作系统版本,而无需在目标(配置者)设备上手动指定操作系统?
一些例子:
- EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED 是在 API 级别 22 中添加的,而我的目标是 API 级别 21。
- 在 API 级别 23 中添加了 EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME。在 API 级别 23 中,EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME 已贬值。
java - LockScreen 无需关闭
我有一个应用程序需要在后台锁定屏幕时保持打开状态。
我已经设法让所有这些都运行起来,但有一个问题是,一旦我打电话devicePolicyManger.lockNow();
,显示器就会变黑。
我曾尝试使用 获取唤醒锁PowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag").aquire();
,但似乎调用lockNow()
覆盖了唤醒锁。
有小费吗?
android - 创建杀死所有以前打开的应用程序的启动器
我有一个简单的启动器,可以在列表视图中列出所有应用程序。我只想要这个启动器中的一个功能;当单击列表视图中的某个项目(例如第 5 个项目)时,我想完全杀死所有以前打开的应用程序,然后打开那里登记的第 5 个应用程序。我不知道我应该寻找什么。我有启动器应用程序作为设备管理员和设备所有者,我认为它与DevicePolicyManager
类有关。我也尝试了 finishActivity(int requestcode) 但它没有用。下面是 onItemClick() 监听器:
android - 设备所有者应用程序/电话通过 NFC 完全访问 Play 商店(而不是 Play for Work)
我有几台设备通过 NFC 配置了设备所有者权限,不涉及 EMM,所有策略均由我的 DPC 设置,在配置期间下载。此时我没有设置谷歌帐户。
手动添加 google 帐户后,所有设备都可以访问 Google Play Store Work Apps(目前仅包含 Google Apps 应用程序),但不能访问常规 Play Store。
有没有办法可以停止将设备限制为 Work Apps Play 商店并授予他们完全访问权限?如果可能的话,我想根本不管理该帐户,而只做诸如禁止恢复出厂设置和更改 WiFi、通话、短信等之类的事情......
这些是我用我的 DPC 设置的政策,也许我误解了他们中的一些人的作用?
我知道可以通过 EMM Api 授予用户对 Play Store 应用程序的访问权限,但是我不能使用 EMM。
android - 通过 setPermissionGrantState 或类似方法自动授予 ACTION_MANAGE_OVERLAY_PERMISSION
我正在尝试自动授予我的应用程序一些运行时权限,其中包括 ACCESS_FINE_LOCATION、READ_PHONE_STATE 以及 ACTION_MANAGE_OVERLAY_PERMISSION。请注意,这至少需要我拥有的设备管理员访问权限。
虽然前两个通过
ACTION_MANAGE_OVERLAY_PERMISSION 根本不起作用。我相信这可能是因为它不是 Manifest.permission 的一部分,而是 android.settings.action.MANAGE_OVERLAY_PERMISSION 的一部分。但是,它仍然是我希望自动获得的许可。
编辑:虽然似乎此权限会自动授予任何请求它的应用程序,但这仅适用于通过 Playstore 分发的应用程序。不幸的是,我的应用程序不是以这种方式分发的。
locking - 使用设备管理员锁定设备,但锁定后说只能使用图案或大头针解锁
我正在使用 DevicePolicyManager 锁定设备,但在锁定设备后它说因为设备已被设备管理员锁定,使用模式或 pin 解锁无法使用指纹解锁。但我也想使用指纹锁定和解锁。
android - 如何获取我的 APK 的签名校验和?
在使用设备所有者应用程序配置设备时,我想使用签名校验和而不是包校验和。该应用程序将从 http 服务器下载。
这篇文章在使用 EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM 时很棒:预配 Android Lollipop 时出现校验和错误
但我想使用 EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM。请参阅:https ://developer.android.com/reference/android/app/admin/DevicePolicyManager.htm
配置应用程序和设备所有者应用程序都将在 Android O 上运行。
如何获取可在 NFC 的键/值对中使用的应用程序的签名校验和?
android - 移动设备管理的单一应用设备
我喜欢在我们的托管设备中使用单个 android 应用程序,我们只希望该应用程序在具有必要限制的设备上使用,例如,
一次性使用 - 设备将只有一个应用程序,用户不能使用其他应用程序,如浏览、youtube 或任何东西,
通知声音、GPS 始终开启、通知和铃声最大级别等初始设置无法修改。
用户无法关闭设备。
此设置只能由我们的服务器更改。
我想我有两个选择,
1) 在三星设备上使用 samsung knox sdk,这是Samsung Knox Standard的 MDM 验证功能!
2)通用Android方式,设置Single-Purpose Devices,COSU解决方案 Android开发者网站。
想知道您对此的看法,可能是如果你们已经完成了这两种方法中的任何一种或任何其他方式,我可以使用一些指导方针或路径。
感谢阅读,如果我无法表达主题或需要编辑,请发表评论。