修改现有的Android ROM以控制用户操作

时间:2010-09-02 18:01:17

标签: android

我正在为客户创建一个Android应用程序,该应用程序将与手机一起预先安装和分发。现在,客户要求我锁定ROM,以防止未来用户使用除此应用程序之外的任何其他内容。即没有浏览,没有电子邮件,没有任何可能产生任何费用等等。

现在经过一些谷歌搜索后,从Android图像中删除应用程序似乎相对简单。但即使我可以删除网络浏览器,电子邮件客户端,Android Market App等,我如何确保用户不会通过USB连接器重新安装这些应用程序?由于Android只是Linux,我确信有一些方法可以拒绝所有用户安装新应用程序的权利(或者除了使用这个应用程序之外,实际上除了它们之外的任何东西)。

如果有人能指出我正确的方向,那将非常感激。

编辑: 为了澄清一点,客户不想将Android设备用作手机,即使它们是手机。随着100€触摸屏手机的推出,将这些手机用于一个特定目的变得可行。在我的客户案例中,该设备将被用作类似POS系统的东西:员工使用手机处理某种类型的客户请求,为此,应用程序需要具有数据连接,当然会产生成本。现在显然可以建立合同,这将迫使员工自己支付任何不规则的费用,但为什么要这么复杂呢?

这不是要让用户远离用户,而是将Android手机用作具有数据连接的通用触摸屏设备,员工可以在商业环境中使用这些设备而不会出现意外的高数据连接成本。 / p>

3 个答案:

答案 0 :(得分:4)

制作单一用途的设备并不需要做很多事情。如果你正确地玩牌,那么你应该可以做到这一点而不必修改ROM​​。

快速简便的路线是将您的应用程序部署为替代库存启动器,就像任何其他可用的家庭更换一样。将其设置为默认值将涵盖大多数偶然篡改的机会,因为它将无法启动或安装任何其他任何东西。我能想到的另一件事你需要做的就是抓住搜索按钮,这样它就不会启动应用程序顶部的默认Android搜索框和绿色键,因此手机应用程序赢了不上来。

当然,您需要一种方法来访问原始启动器以维护设备并安装新版本的应用。我使用“维护”菜单项来实现这一点,该菜单项要求某种形式的身份验证(例如,密码),将家庭应用程序更改回原始应用程序并启动它。当您完成了自己需要做的事情后,请将您的应用设置为默认启动器,然后重新开始营业。

编辑以解决MAINERROR(现为Octavian Damiean)的评论:

任何应用程序中的任何活动都可以通过在android.intent.category.HOME类别上添加意图过滤器将自身注册为主应用程序。它在清单中只有四行,您不必编写任何代码来支持它。请查看stock launcher's manifest中的第77-82行,了解如何完成此操作。 (忽略DEFAULTMONKEY上的过滤器;它们不是必需的。)一旦选择了活动作为该类别的默认处理程序,它就会成为启动时启动的第一件事,当它出现时会出现什么按 Home 键。 HTC Sense,aHome,Panda Home等都使用这种机制。

明确启动股票主页(或任何其他应用程序)大约有五行代码。

附注:市场上有一个名为Home Switcher的应用程序,它允许您启动在HOME类别上过滤的任何活动,或将其设置为默认值。

除非手机制造商添加了大量的软件,否则在后台运行的东西应该是无关紧要的,不会妨碍。

答案 1 :(得分:0)

某处已有类似的问题。您确实可以按照您想要或必须的数量来限制设备的功能。为了实现这一点,你必须建立自己的修改ROM​​。

您必须触摸ROM,因为您必须摆脱在后台运行的多个应用程序。一个你无论如何都不需要它们,因为你不需要它们,它们只会消耗资源。

您可能需要查看http://source.android.com,您可以找到有关这些来源的更多信息,这些信息有望引导您到达您需要的位置。

答案 2 :(得分:0)

Blrfl的答案很棒,但仍有问题:如果用户长按HOME按钮,最近的应用程序弹出窗口将显示用户将能够启动另一个应用程序。