问题标签 [android-for-work]

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.

0 投票
0 回答
839 浏览

android - 无法在 Android 6 及更低版本上从 Personal 到 Work 配置文件共享文件

无法在 Android 6 及更低版本的个人资料所有者中将文件从个人资料共享到工作资料。

我已经编写了代码来请求和共享从个人资料到个人资料所有者应用程序中的工作资料的文件。我从个人资料所有者应用程序向个人资料中的同一应用程序实例请求文件。我在 onActivityResult 中得到结果。我得到了我处理和保存的文件的内容 Uri。该代码在 android 7 及更高版本中运行良好,但在 Android 6 及更低版本中引发 FileNotFound:Permission Denied 异常。

在个人资料所有者方面,我在 onActivityResult 中收到结果

ParcelFileDescriptor fileDescriptorParcel = getContentResolver().openFileDescriptor(dataUri, "r"); 在这里我得到 FileNotFoundException: Permission denied。

我尝试使用 context.grantUriPermission() 授予权限,但这也不起作用。

0 投票
1 回答
511 浏览

google-play-services - 使用 Android Management API 将 Android 设备配置为专用设备失败

我正在尝试在专用设备模式下使用 Android Management API 和 Android DPC构建 Android Enterprise解决方案集。

按照快速入门指南,我创建了项目、企业和策略。卡在设备配置阶段。

设备详情:Minix X68i,Android 6.0.1 [root]

注意:设备上没有设置向导的欢迎屏幕

根据配置方法,我的设备只能使用 NFC 或 DPC 标识符进行配置。尝试了 DPC 标识符,但由于恢复出厂设置后没有欢迎屏幕,我在添加新帐户时尝试了它,它完全拒绝了afw#setup字符串。由于设备未配备 NFC 接收器,因此无法尝试 NFC 方法。

我需要一种方法来交替触发 DPC 标识符或 NFC 模式。任何其他方式我可以手动安装 DPC 并使其在设备所有者模式下注册设备?

现在我尝试从https://play.google.com/managed/downloadManagingApp?identifier=setup下载 DPC 应用程序,但该应用程序始终选择托管配置文件模式,即使我手动将 DPC 设置为设备所有者和“CloudDeviceAdminReceiver”作为设备管理员。请参阅下面的初始 DPC 日志:

我什至尝试手动启动com.android.managedprovisioning/.DeviceOwnerPreProvisioningActivity,设备说“哎呀!”这个设备已经设置好

0 投票
1 回答
493 浏览

android - 如何在另一个配置文件中查询 ContentProvider?

我正在尝试确定如何访问存在于另一个配置文件中的 ContentProvider。

我在托管配置文件中有一个应用程序/服务,它实现了内容提供程序。我在主要配置文件中有第二个应用程序/服务,我希望它能够访问托管应用程序的内容提供程序。即交叉配置文件

现在我正在使用 android-testdpc 的修改版本对实现进行原型设计。我已将 ContentProvider 添加到 testdpc 源。我希望能够从在主配置文件中运行的另一个应用程序访问托管配置文件中的这个 ContentProvider。

我知道使用DevicePolicyManager.AddCrossProfileIntentFilter()I 可以允许在托管配置文件中发送的意图也可以在父级中解析,反之亦然。该文档指出仅支持活动意图。使用AddCrossProfileIntentFilter()我已经成功地能够通过使用意图和startActivity(). 但是,使用活动不是我想要做的,因为在 Q 和以后我无法从后台应用程序/服务启动活动。

如果两个应用程序存在于同一个配置文件中,我访问 ContentProvider 没有问题,但我无法确定如何跨配置文件工作。

0 投票
3 回答
527 浏览

android - 适用于 G Suite 的 Android 管理 API

我们有一个 G Suite 帐户,我想使用Android Management API管理我们公司拥有的一些平板电脑作为信息亭显示器。但是,它似乎需要一个任意的“个人”Gmail 帐户,而不是允许 G Suite 用户使用它。

要配置一个device,您需要创建一个policy. 需要将策略分配给enterprise.

选项 1:尝试链接现有企业

您可以从此处获取您的 G Suite 组织 ID ,该 ID显然也是您的企业 ID。API需要它的格式enterprises/id,例如enterprises/abcdefg

不幸的是,即使在通过超级管理员身份验证后,对 API 的任何调用都会遇到

选项 2:创建企业

提供快速入门指南,可以轻松创建企业、创建策略,然后配置设备。当我们使用个人 Gmail 帐户时,一切正常,我可以成功地将平板电脑配置为信息亭模式。一旦我尝试使用 G Suite 帐户,我就会遇到: "G Suite is not currently supported by managed Google Play Accounts, please choose a non-G Suite account to continue."

我们是否需要创建一个任意的 Gmail 帐户(例如 ourcompany-devices@gmail.com)?

如果我们后来想要提供第三方的设备会发生什么?然后每个人的设备都会链接到任意 Gmail 用户的企业吗?

任何帮助将不胜感激,谢谢。

0 投票
0 回答
78 浏览

android - 在 Android for Work 应用程序中访问联系人

我有一个应用程序,它显示联系人列表以及其中的一些操作。当此应用程序安装为“Android for work”时,它无法获取联系人列表。

有什么方法或其他 API 可以得到这个。我不想获取工作资料之外的联系人。我对“工作联系人”应用程序感兴趣。

我尝试了ENTERPRISE_CONTENT_FILTER_URI API 来获取联系人。

0 投票
0 回答
25 浏览

android - 让我的内部员工应用程序始终自动更新

我在让我的用户安装我的应用程序更新时遇到问题。

我需要说我的用户是公司内部员工,我们的应用程序是为我们内部服务的,我们需要他们始终拥有最新的应用程序。

  1. 有没有办法从后台启动 Android InAppUpdates ( https://developer.android.com/guide/playcore/in-app-updates ) 所以我一直向他们展示“更新我”。

  2. 有没有办法通过 G-Suite 管理员强制执行此操作?我可以强制他们安装它,但不要一直更新。

0 投票
1 回答
71 浏览

app-config - 如何处理 emm android 应用程序中的密码?

如果我使用具有所有应用程序限制的 android 托管配置等等......并且管理员应该设置凭据(例如邮件服务器),安全性是什么?您在restrictions.xml 文件中定义的所有值都在emm 系统中以纯文本形式设置。那怎么可能安全?如果我理解一切正确:日期也将通过谷歌发送到设备......也是明文?

有什么不同的方法吗?还是所有的限制总是以明文形式通过互联网发送?

谢谢

0 投票
0 回答
53 浏览

android - 如何恢复设备所有者(完全托管的设备)上的数据?

我在完全托管的设备上从 Google 备份恢复数据时遇到问题。我的步骤:

  1. 使用 Google 备份在设备上创建备份。
  2. 设备出厂重置以启动设备所有者配置。
  3. 使用 MDM 将设备注册为设备所有者。
  4. 设置已完成,但在设置过程中未出现添加帐户活动或恢复活动。
  5. Google 备份在设置中已解锁,但我无法在任何地方访问恢复。
  6. 我尝试通过意图手动启动 CloudRestoreFlowActivity,但以这种方式启动时恢复失败,并且仅从备份安装应用程序而不恢复其数据。不恢复联系人、通话记录和消息。是否有可能以某种方式恢复设备所有者的 Google 备份?