Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
修改现有Android ROM以控制用户操作_Android - Fatal编程技术网

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

修改现有Android ROM以控制用户操作,android,Android,我正在为客户创建一个Android应用程序,该应用程序将与手机一起预装和分发。现在,客户要求我锁定ROM,以防止未来用户使用除此应用程序之外的任何其他应用程序。也就是说,没有浏览,没有电子邮件,没有任何可能产生任何费用等 现在,在谷歌搜索之后,从Android映像中删除应用程序似乎相对简单。但是,即使我可以删除web浏览器、电子邮件客户端、Android Market应用程序等,我如何确保用户不会通过USB接口重新安装这些应用程序?由于Android只是Linux,我相信有很多方法可以剥夺所有用

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

现在,在谷歌搜索之后,从Android映像中删除应用程序似乎相对简单。但是,即使我可以删除web浏览器、电子邮件客户端、Android Market应用程序等,我如何确保用户不会通过USB接口重新安装这些应用程序?由于Android只是Linux,我相信有很多方法可以剥夺所有用户安装新应用程序的权利(或者实际上除了使用这一个应用程序之外,几乎什么都不允许)

如果有人能给我指出正确的方向,我将不胜感激

编辑: 为了澄清一点,客户不希望将android设备用作手机,即使它们是手机。随着100欧元触摸屏手机的面世,将这些手机仅用于一个特定用途变得可行。在我的客户案例中,该设备将被用作类似POS系统的东西:员工使用手机处理某种类型的客户请求,为此,应用程序需要有一个数据连接,这当然会增加成本。现在很明显,可以签订合同,要求员工自己支付任何不正常的费用,但为什么要把它弄得这么复杂呢


这并不是要剥夺用户的自由,而是要将android手机用作具有数据连接的通用触摸屏设备,员工可以在商业环境中使用,而不会因为意外的高数据连接成本而伤到自己的脚。

要取得成功,你真的不需要做很多事情单用途装置。如果你的牌打对了,这应该是你不用修改ROM就能做到的事情

快速简单的方法是将应用程序部署为stock launcher的替代品,就像其他可用的家用替代品一样。将其设置为默认值将覆盖大部分随意篡改的机会,因为它不会留下启动或安装任何其他内容的其他方式。我脑子里能想到的唯一其他事情就是你需要做的就是按下搜索按钮,这样它就不会在你的应用程序上出现默认的Android搜索框,也不会出现绿色键,这样手机应用程序就不会出现

当然,您需要一种方法来访问原始启动器,以维护设备并安装新版本的应用程序。我会在某个地方使用一个“维护”菜单项,要求某种形式的身份验证(例如,密码),将家庭应用程序更改回原来的状态并启动它。当你完成了你需要做的事情后,将你的应用程序设置为默认启动程序,你就可以重新开始工作了

编辑以解决主错误(现在是屋大维·达米扬)的评论:

任何应用程序中的任何活动都可以通过在
android.intent.category.home
category上添加一个intent过滤器将自身注册为家庭应用程序。清单中有四行,您不必编写任何代码来支持它。请查看中的第77-82行,以获取如何执行此操作的示例。(忽略
DEFAULT
MONKEY
上的过滤器;它们不是必需的。)一旦选择活动作为类别的默认处理程序,它将成为启动时启动的第一件事,以及按下Home键时出现的第一件事。HTC Sense、aHome、熊猫之家等都使用这种机制

显式启动stock home(或任何其他应用程序)大约需要五行代码

旁注:市场上有一个名为Home Switcher的应用程序,它允许您启动
Home
类别上的任何活动筛选,或将其设置为默认设置


除非手机制造商增加了很多铲子,否则在后台运行的东西应该是无关紧要的,不会碍事。

已经有类似的问题了。您确实可以根据需要或必须限制设备的功能。为了实现这一点,你一定要建立自己的修改ROM

你将不得不触摸ROM,因为你将不得不摆脱在后台运行的几个应用程序。一个你根本不需要它们,另一个你不需要它们,它们只会消耗资源


你可能想看看那里,你会发现更多关于资源的信息,希望这些信息能指引你去你需要的地方。

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

Gee,我不想买硬件,结果却发现不管是谁制造的,都不想让我充分利用它的潜力。就像iPhone一样,只是更糟!我很抱歉,但客户是否建议他们给员工安卓系统,但不让他们做任何事情?当然这是可能的,但不太可能。任何有决心的人都会克服你所做的事情,除非你有一个非常敬业的团队,重写/锁定大多数操作系统(即使这样,我也不会忘记他们)。他们只是为了某个特定的功能而想要它吗?让他们签署一份合同,声明任何超过X金额的费用都将从他们的工资支票中支付,这不是成本更低吗?@Bactos:它不必是100%防篡改的。如果有人愿意将手机连接到他们的电脑上,并对其进行黑客攻击,那么就可以了。但虐待至少应该很难,需要一些努力。@hnihno那么我建议你读一下Blrfl的答案,因为它和我会做的类似。在你的应用程序中,你可以创建