有时,我想安装一个需要某些权限的应用程序,而我认为这确实是不需要的。我可以在没有授予这些权限的情况下安装该应用程序吗?例如,GPS位置,电话状态,互联网连接等。
一旦安装了应用程序,是否可以更改其权限?
有时,我想安装一个需要某些权限的应用程序,而我认为这确实是不需要的。我可以在没有授予这些权限的情况下安装该应用程序吗?例如,GPS位置,电话状态,互联网连接等。
一旦安装了应用程序,是否可以更改其权限?
Answers:
不。如果没有定制的ROM,那就是全有或全无。这是Google鼓励开发人员确保他们要求应用程序正常运行所必需的绝对最低权限的部分原因。
缺少获取和修改应用程序代码的过程,您要么需要接受访问请求,要么不使用该应用程序。如果设备已植根,则存在一些替代方法。
有一个半隐藏的权限管理器(App Ops),可以通过第三方应用程序访问,但不需要root或自定义ROM。Android Police已在此处进行了介绍。
但是请注意,谷歌曾说过这是错误发布的,而较新版本的Android再次禁用了此功能。
除了上述App Ops之外,在这里您还可以将Xposed框架(适用于Android 5+,请参见此处)与Xprivacy或Protect My Privacy等模块一起使用。虽然这将要求您的设备植根,但它提供了其他功能。
marcioggs在单独的答案中概述了Android M中提供的功能。
CyanogenMod 7支持此功能。通过转到Settings->CyanogenMod Settings->Applications
最新版本并检查“权限管理” 来激活它。然后,您可以通过从应用程序管理列表(Settings->Applications->Manage applications
)中选择一个应用程序来允许和禁止权限。有一篇关于endgaget的文章,带有Youtube演示。
免责声明:这对于某些人可能是显而易见的,但是拒绝对应用程序的许可可能会导致相当严重的崩溃。但是,如果您拥有受CM支持的设备,并且愿意生根并安装它,则可以享受逐许可控制(及其附带的任何危险)。
实际上,由于权限管理实现容易导致崩溃,因此已从版本9的CyanogenMod代码库中将其删除。但是,最新的CyanogenMod 10.1夜间版本现在包含一个被称为“ Privacy Guard ”的功能。Privacy Guard会为应用程序提供空白数据,而不是阻止应用程序访问其请求的数据。
例如,如果在Privacy Guard下运行的应用程序请求您的联系人列表,则CM只会返回一个空列表,从而使该应用程序在功能上认为您的手机上没有存储任何联系人。
有一个App Shield应用程序。它实质上是对.apk进行重新打包,并从manifest中删除权限。股票,无根电话的绝妙主意。但是,像CyanogenMod(从版本7开始)一样,它很容易崩溃(强制关闭)。
更新: App Shield似乎不再需要维护。当前可以在某些“个人Aptoide存储库”中找到它,例如Mixal和Karbyfio。建议现在使用最新的内容。
注意: LBE Privacy Guard不再维护,仅适用于4.2以下的Android版本。
警告:如果您使用的是Jelly Bean(Android 4.1+),请确保检查是否已针对Jelley Bean更新了LBE。目前(2012年7月27日)它仍不兼容,这将导致您的设备在Jelly Bean上启动循环。这意味着您可能必须将设备出厂重置。现在建议改为使用Xprivacy(需要root)。
LBE Privacy Guard可以在安装期间和安装之后阻止每个应用程序的特定权限。这是已经存在了一段时间的看似中文应用程序的英文版本(我不以任何方式隶属于它们);它已经有超过100,000个下载。我还没有尝试过,但我计划明天尝试。
您还可以将其设置为,例如让Facebook在要访问您的位置时显示提示(是/否)等。Play商店的屏幕截图:
Android M将提供以下功能:
M预览的文档:
https://developer.android.com/preview/features/runtime-permissions.html
权限屏幕:
(点击图片放大)
您可以将Xposed Framework和App Settings Module一起使用来拒绝应用程序权限。您还可以使用它来更改DPI设置,从而允许应用程序在平板电脑模式下在手机上运行,反之亦然(以及更改总体大小)。它对我来说效果很好。不过,您将需要root才能安装它。
感谢Izzy指出需要模块。根据他们的评论,您还可以使用Xprivacy或Protect My Privacy来实现此控制。
我偶然发现了一个名为Permission Remover的应用程序,它允许您在安装APK包之前从APK包中删除权限。适用于已安装和下载的APK。此方法很方便,因为它不需要您root设备。
根卸载程序是一款不错的应用(自2016年以来不再在playstore中使用):要撤消仅在CyanogenMod中进入互联网的权利的应用,您可以使用Root Firewall(需要root)。
它可以阻止任何应用程序访问Internet。
免费版本可以阻止所有应用程序,也可以仅阻止多达7个不同的应用程序。
在5.1.1之前的Android版本中,没有细粒度的应用程序权限。Google从6.0开始引入了新的权限模型,其中包括一些基于权限组的控件。但是,如果您已在运行5.1.1或更低版本的设备上获得了root访问权限,则可以使用一些选项将此功能添加到设备中。
转至xda-developers.com并搜索“ xposed框架”以获取有关如何安装框架的信息。安装框架后,请安装XPrivacy或“ 应用程序设置”模块,以更好地控制每个应用程序及其授予的权限。
转到Cyanogenmod下载,查看是否列出了您的设备。如果不是,请返回xda-developers.com并转到设备论坛页面以查找设备的ROM列表。在ROM线程的原始帖子中查找任何涉及“ cyanogenmod”或“ cm”的内容,以找到提供权限控制访问权限的正确基础。
希望这可以帮助。