问题标签 [cosu]

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 回答
1686 浏览

android - 更新 COSU 设备中的 Android 应用程序

我正在开发应用支持COSU app android。该应用程序对我来说运行良好,但我不明白用户将如何更新我们的应用程序,因为 COSU 应用程序用户无法访问任何其他应用程序,甚至 google play 商店。所以现在的问题是用户将如何在没有 google play 访问权限的情况下更新我们的应用程序。我从我们的服务器有一个解决方案下载应用程序,但在这种情况下,用户将丢失保存数据,例如我们存储在 SharedPreference 中的数据。如果您对此有任何其他解决方案,请指导我。提前感谢

0 投票
2 回答
788 浏览

android - 是否有可能在 Android 上的 locktask/kiosk 模式下从导航栏中隐藏返回键图标?

我正在制作 Cosu 应用程序,它在 locktask 模式下运行。我找到了使 NavigationBar 和 ActionBar 完全透明和隐藏的指南,但是如果用户从屏幕底部或顶部滑动,它将在底部 NavigationBar 上显示返回按钮。

我添加了可以快速再次隐藏它的代码片段。

有什么方法可以使用样式或其他方式实际更改该后退按钮图标或其颜色为透明?我试图找出这方面的信息,但我发现使用额外的应用程序来修改后退按钮图像。

我可以使用以下代码禁用后退按钮事件,但不会隐藏它的可见性

0 投票
2 回答
3321 浏览

android - 在 Android Locktask 模式下执行调用

TL;DR 如何在使用时拨打电话Activity.startLockTask()

我正在尝试在 Android 设备上设置受限环境,即通常称为“Kiosk 模式”的环境。

官方文档可以在这里找到: https ://developer.android.com/work/cosu.html

这样做的官方方式建议使用Activity.startLockTask

这可以正常工作,直到您想从您Activity处于startLockTask()模式中的其他应用程序中启动其他应用程序。启动的任何活动都不得在新的任务堆栈上启动,否则系统会阻止启动意图,即 no Intent.FLAG_ACTIVITY_NEW_TASK

一些应用程序可以刚刚启动,其他应用程序似乎隐式设置此标志,但可以通过使用startActivityForResult(...)which似乎删除NEW_TASK标志来解决。对于仍然无法运行的应用程序,我可以编写自己的替换代码。

真正的问题是调用应用程序,它强制执行新的任务堆栈。触发呼叫发起呼叫,不显示呼叫活动,但还会在状态栏中放置呼叫通知(在使用时无法访问startLockTask()。与其他应用程序相比,呼叫应用程序也是无法访问的应用程序)替换为自定义应用程序...

DevicePolicyManager.html.setLockTaskPackages()对此行为没有影响。

0 投票
3 回答
30127 浏览

android - Android:如何让设备只运行一个应用程序?

我有一个客户项目,我必须在其中制作单任务 android 设备。客户无法逃脱我公司开发的应用程序。此外,客户无法启动任何其他应用程序,并且我们的应用程序在设备启动时启动。总体而言,客户能够使用该设备做的就是运行我们的应用程序。

除了生根设备,禁用所有系统按钮并使我们的应用程序成为启动器之外,还有其他方法可以使这项工作。为此,我有大约 400 台设备,因此将所有这些设备生根会花费大量时间。

我还阅读了谷歌关于 COSU 设备的教程,但发现它非常令人困惑https://developer.android.com/work/cosu.html#testing-plan

Androids 自己的屏幕固定不够好,因为客户可以逃避应用程序。有些人可能会建议使用像 SureLock 这样的信息亭应用程序,但我公司的目标是在不使用任何第三方应用程序的情况下找到明确的解决方案。通过一些信息亭应用程序运行我们的应用程序也不是我们的目标。

我在 Stack Overflow 上发现了一些类似问题的帖子,但不是我正在寻找的答案。

如果有人对这个问题有一些提示,我将不胜感激。

0 投票
1 回答
5080 浏览

android - Android PackageInstaller,更新后重新打开应用程序

我正在开发一个以设备所有者身份运行的应用程序,我想在其中构建一个自动更新程序。

为此,我使用 PackageInstaller,因为由于我的设备所有者职位,我有权使用它。

更新是正确的,但问题是它不会在更新后重新打开应用程序本身,即使我设置了一个 IntentSender 将操作广播LauncherReceiver.START_INTENT到新的应用程序实例(这将使其启动)。

这是我的接收器:

它已在我的清单中注册:

如果我通过 CLI 调用它,它可以工作:

所以接收器工作但由于某种原因它不能从包安装程序会话提交中工作。该应用程序由于升级而自行关闭,但不会再次打开。

如果我将其更改createIntentSender为:

它实际上打开了电话服务。所以我认为问题在于升级生命周期,因为当广播动作产生时应用程序还没有准备好。

此外,我又做了一次尝试,我创建了一个边应用程序,它只对我的主应用程序调用广播操作,所以我可以调用这个边应用程序,并且通过这个“双步”它实际上可以重新打开刚刚更新的应用程序。问题是我必须安装两个应用程序 =/

有谁能够帮我?有没有办法重新打开刚刚更新的应用程序?

0 投票
1 回答
1210 浏览

java - adb shell dpm set-device-owner 与 Unity 问题

我正在尝试通过使用 COSU(企业拥有的一次性使用)功能使 Unity 应用程序进入信息亭模式。

我的计划是首先使用 Android 来让事情正常运行,所以我按照Google Code Labs提供的教程进行操作

完成这项工作后,我的计划是弄清楚如何将其集成到我的 Unity 项目中。我关注 了这个 youtube 视频,该视频展示了如何制作一个可以从 Unity 调用的插件。

当我构建我的项目时,我尝试执行以下命令

但是,我不断收到以下错误

我想知道 Unity 是否没有正确地将 AndroidManifest.xml 文件合并在一起。这是我的插件中的 AndroidManifest.xml 文件。

我将它和 classes.jar 文件复制到 Unity 的 Assets/Plugins/Android/libs 文件夹中

我能够成功调用插件中的函数,因此插件似乎设置正确。

作为参考,这是我调用插件的 C# 代码

这是定义这些函数的 java 类。

看起来 Unity 生成了 2 个 XML 文件,并将其放入 Temp/StagingArea

AndroidManfist.xml

和 AndroidManifest-main.xml

在这两个文件中,我都看不到我的 Android 插件 AndroidManifest.xml 的内容,我想这就是问题所在。我需要做些什么来合并清单文件吗?

为了完整起见,这里是

DeviceAdminReceiver.java

提前感谢您的帮助。约翰·劳里

0 投票
1 回答
153 浏览

android - Android:阻止用户与操作系统交互

我正在为为商业销售点购买的自定义 android 设备构建一个 android 应用程序。我们希望客户使用我们的安卓设备和应用程序,而不能以任何方式与安卓系统交互。这意味着没有带有返回、主页和概览按钮的导航栏,没有通知栏或任何其他交互方式。

归根结底,所有提出的解决方案仍然使用户能够以一种或另一种方式与操作系统交互。如何完全禁止与底层操作系统的任何交互,即只允许用户使用自定义创建的后退按钮?最好不必root设备。

感谢您的建议。

0 投票
3 回答
8539 浏览

android - 如何在 Android 中实现单应用模式(COSU)?

寻找在 Android 中集成 COSU 模式的解决方案。我已经浏览了以下链接,

https://developer.android.com/work/cosu.html

有人成功实施了吗?

0 投票
2 回答
529 浏览

android - 移动设备管理的单一应用设备

我喜欢在我们的托管设备中使用单个 android 应用程序,我们只希望该应用程序在具有必要限制的设备上使用,例如,

  1. 一次性使用 - 设备将只有一个应用程序,用户不能使用其他应用程序,如浏览、youtube 或任何东西,

  2. 通知声音、GPS 始终开启、通知和铃声最大级别等初始设置无法修改。

  3. 用户无法关闭设备。

  4. 此设置只能由我们的服务器更改。

我想我有两个选择,

1) 在三星设备上使用 samsung knox sdk,这是Samsung Knox Standard的 MDM 验证功能!

2)通用Android方式,设置Single-Purpose Devices,COSU解决方案 Android开发者网站

想知道您对此的看法,可能是如果你们已经完成了这两种方法中的任何一种或任何其他方式,我可以使用一些指导方针或路径。

感谢阅读,如果我无法表达主题或需要编辑,请发表评论。

0 投票
3 回答
1636 浏览

android - 是否可以在不注册 EMM 社区的情况下构建 DPC?

由于申请 EMM 集成的过程花费了大量的时间,而且整个过程被那些经历过的幸运者描述为“令人难以置信的痛苦”,我想知道是否绝对需要成为 EMM拥有一个正常工作的设备策略控制器应用程序 (DPC)。

如果你遇到这个问题,请分享经验。

我正在为 COSU 设备开发并希望进入信息亭模式。我知道如何做到这一点的方法的存在,但他们都实现了一堆变通办法 - 这不是一个选择 - 我想要一种可控、安全和健壮的方式来做到这一点。我也不在乎没有远程管理的能力。