问题标签 [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 投票
1 回答
1931 浏览

android - Android Lollipop 中应用程序外部配置文件和内部配置文件之间的数据传输

与Android for Work相关的问题。我的应用程序是设备管理员特权应用程序,现在我修改了创建托管工作配置文件并将自己设置为配置文件所有者的代码。

问题是,如果我升级我的应用程序,它会成为设备管理员的配置文件所有者。现在将有我的应用程序的两份副本,一份在个人资料之外,一份在内部(标记版本)。

如果我需要将一些数据从个人空间应用程序传输到工作资料应用程序(徽章版),有什么办法吗?

0 投票
1 回答
2209 浏览

android - Android for Work 中的相机意图

我正在触发相机意图以使用相机应用程序拍照。它在我的默认应用程序版本中按预期工作。

我已经为"Android for Work"我的应用程序版本实现了相同的代码,但最终出现了奇怪的行为。通常,根据"Android for Work"视频,如果 Intent 位于不同的配置文件中,则无法处理它。例如,如果我的工作配置文件中没有安装相机应用程序,则相机意图在解决后应该为空,这是预期的。

但在我的情况下,相机意图由安装在我的默认用户配置文件中的相机应用程序处理(Work Profile没有相机应用程序)。拍摄照片时,它会返回onActivityResult一个resultCode Activity.RESULT_CANCELED.

所以,我的问题是,我怎样才能区分用户Real Cancel Event和这种情况?两者的结果是一样的,Activity.RESULT_CANCELED

这是下面的代码,显示了我如何触发相机意图。

编辑:这里有一些来自我的管理面板的屏幕截图。 交叉配置文件限制 工作资料中允许的应用程序

0 投票
0 回答
340 浏览

android - 活动识别在 Android For Work 中不起作用

我有一个通过 ActivityRecognition API 请求活动更新的应用程序。当我在装有 Android For Work 的设备上加载它时,该应用程序的工作版本永远不会获得活动更新,但个人版本可以正常工作。

我正在检查requestActivityUpdates()如下所示的结果,我获得了成功,但实际上从未获得任何活动意图。

编辑:清单确实有一个 BreakTimeMonitor 服务的条目,所以这不是问题。我还尝试添加一个不同的用户帐户以查看它是否有效,并且确实有效 - 所以它只是工作帐户不起作用。

0 投票
0 回答
224 浏览

android - Android for Work 上的 NFC 意图

我创建了一个非常基本的应用程序,它具有外部 NDEF 类型的意图,如下所示。

上面嵌套的活动是应用程序的主要活动,只是一个普通的空白活动。

在标准用户端一切正常,但是如果我将应用程序加载到工作配置文件中,则意图永远不会到达应用程序并显示“收集的新标签”屏幕。

Android 文档指出,配置文件管理员可以控制从用户向工作配置文件发送哪些意图,但是我在 BlackBerry Enterprise Server 12(我们的 MDM)控制台或 Android for Work 控制台中找不到此类设置。

http://developer.android.com/training/enterprise/app-compatibility.html#prevent_failed_intents

0 投票
2 回答
767 浏览

android - 谷歌 EMM API 问题

再会!我对 Google Play EMM 感兴趣

我已经创建了设备策略控制器并创建了工作配置文件。创建了一个 Google Developers Console 项目并添加了 EMM API。创建主服务帐户。在主服务帐户中,我获得了 EMM 令牌。

我已经下载了适用于 Java 的 Google Play EMM API 客户端库。据我所知,我只需要调用类似的东西

第一个问题 - 如何以语法方式将设备(android 手机)添加到主服务帐户?如果我默认使用 Google Android for Work 和 Google 系统 - 我会使用“设备注册”应用程序。但我不知道如何以编程方式做到这一点。

第二个 - 在示例中有这样的行

他们在哪里存储?在谷歌服务器上?当我这样做时,我认为是对的吗 enterprise.setPrimaryDomain(primaryDomainName); 我可以访问所有注册的客户吗?

第三 - 有没有 NORMAL 样品?或者一步一步怎么做?毕竟关于这一切的信息并不多(谢谢。

0 投票
1 回答
1070 浏览

android - 仅将系统广播发送到托管配置文件应用程序

我在用户配置文件和托管配置文件 (AFW) 中都有一个应用程序。我正在尝试根据包名称发送广播。意图.setPackage(packageName); mContext.sendBroadcastAsUser(intent, UserHandle.ALL);

结果是两个应用程序(用户和托管配置文件)都获得了广播。

我只想将广播发送到托管配置文件应用程序(所以基本上用户配置文件不应该收到)

0 投票
2 回答
1106 浏览

android - 以编程方式检查 android 中的“工作资料”支持

我想检查设备是否支持“工作配置文件”而不是通过代码

注意到 Android 5.0+ 对“工作配置文件”的本机支持虽然在 HTC 设备上不支持。

任何人都可以分享如何实现这一目标...

0 投票
2 回答
99 浏览

android - 缺少 Android for Work 配置时显示 Toast 消息

当我的应用程序无法使用 Android for Work 配置文件(尚未配置或部署在设备上)时,我想阻止我的应用程序启动。相反,我希望能够显示类似 Toast 的消息,告诉用户联系他的 IT 管理员。此消息底部的示例。

示例: Divide Productivity Suite 应用程序显示此消息(邮件、便笺等)。

“需要从管理应用程序进行配置。有关详细信息,请联系您的 IT 管理员”。

屏幕截图

有没有办法实现这个?我尝试挂接到 MainActivity onCreate 函数,甚至直接将它放在 Application onCreate() 函数中。此处的挂钩代码似乎仍然启动了应用程序(尽管没有显示任何内容,但仍显示标题栏)。

我能够弄清楚如何确定您的应用程序是否在 for Work 配置文件上运行并在此处显示一个警报对话框: Android for work - 如何检查我的应用程序是否在工作配置文件中运行?

0 投票
1 回答
1533 浏览

android - Android for Work ANDROID_ID 返回 NULL

我正在使用以下代码来获取设备 ID:

根据此处的文档,ANDROID_ID 值对每个用户都是唯一的。我发现当我在托管配置文件下测试我的应用程序(使用 BasicManagedProfile 示例)时,上述字符串“androidID”为空。

我假设 Android for Work 是基于多用户实现的。为什么 ANDROID_ID 值在这里为 NULL?

编辑:有没有其他方法可以从工作资料中获取设备 ID?

0 投票
1 回答
5797 浏览

android - 运行多个 android 应用程序实例,如并行空间

我想知道并行空间 https://play.google.com/store/apps/details?id=com.lbe.parallel.intl&hl=en是如何工作的。这是一个使用另一个 facebook、whatsapp 等帐户登录的应用程序。您可以在 Play 商店链接中找到详细说明。

我查看了并行空间使用 ES Explorer 创建的文件夹。他们创建了以下文件夹 parallel_intl/0/

在这个文件夹中,他们有 DCIM、图片等文件夹。我使用并行空间登录了另一个whatsapp帐户,他们在以下位置创建了whatsapp文件夹parallel_intl/0/Whatsapp

是否可以使用 Android For Work Container 实现相同的目标???

他们是如何创建一个单独的空间来运行 Whatsapp 等的吗???

请提供一些指南来解释如何实现这一点。

谢谢。