我可以阻止应用程序安装在 android 的特定设备中吗?
Posted
技术标签:
【中文标题】我可以阻止应用程序安装在 android 的特定设备中吗?【英文标题】:Can i prevent an application from being installed in a particluar device in android? 【发布时间】:2012-12-23 03:56:25 【问题描述】:我有一个不应安装在所有手机上的企业应用程序。我有 50 部带有 IMEI 信息的手机,我的应用程序应该只安装在这 50 部手机中。即使他获得了apk,用户也不应该能够安装我的应用程序。
我试过这个: 如果我安装该应用程序,那么我可以检查手机的 IMEI 号码是否是 50 之一。 如果不在50之间,我可以阻止他登录。但我想首先阻止安装以降低风险。
【问题讨论】:
【参考方案1】:AFAIK,如果有 APK 文件,则无法阻止应用安装。尽管您可以像我认为的那样阻止应用在特定设备上运行。
否则,如果您想通过网络安装应用程序,可以查看here。使用它,您可以仅在您希望允许的设备上安装应用程序。
【讨论】:
【参考方案2】:正如@Sahil 所说,如果有 apk 文件,您无法阻止不安装您的应用程序。
但是,AFAIK 你是说你有 50 部手机的 IMEI 号码。因此,我认为使用“以下策略”可以实现 70% 的可能性。
我想我可以帮助您在一定程度上解决您的问题(不完全)。
正如我所说,它不会完全解决您的问题,但您可以限制您的应用程序不安装在您的 50 个移动品牌名称列表之外的其余设备中。
您可以防止您的应用未安装在所有其他中 不在您的 50 部手机列表中的品牌/型号。
您可以做的是过滤您的应用程序的特定设备 您的设备品牌名称。
通过使用下方,您将不必根据编程过滤您的应用程序。
您可以在发布应用程序时从 android 市场开发者控制台 -Here 执行此操作。
开发者控制台上有一个“支持的设备”部分,其中 向您显示可以访问 android 的所有设备的列表 市场。然后,您可以过滤掉不符合要求的设备或制造商 与您的应用兼容
这是主开发者控制台中的部分:
您可以在此处排除设备和/或制造商查看您的应用
有关更多信息,请参阅Device Availability 帮助页面,其中显示:
设备可用性对话框可以帮助开发人员在两个强大的 方式:
了解哪些设备可以在 Android Market 中找到您的应用
设备可用性提供了兼容设备的动态列表,基于 您的清单设置。例如,如果您的 apk 清单指定 大屏幕尺寸,控制台将反映支持的设备 可以在 Market 中找到您的应用。
您还可以使用动态搜索 功能以查看您的应用程序将不可用的设备 到。您可以按制造商、设计名称(例如“Passion”)搜索, 或实际的公共设备名称(例如“Nexus One”),查看您的 清单设置过滤了设备。过滤有问题或 不兼容的设备 此功能提供了特定于设备的 开发人员的管理选项。当您将设备添加到 “手动排除的设备”列表,您的应用将无法用于 市场中排除的设备。这主要是为了帮助 开发人员通过帮助提供最佳的用户体验 开发人员会过滤掉已知存在兼容性问题的设备。
正如我所说,它不会完全解决您的问题,但您可以限制您的应用程序不安装在您的 50 个移动品牌名称列表之外的其余设备中。
希望对你有所帮助。
【讨论】:
【参考方案3】:虽然这是旧的,但如果有人遇到这样的需求,有 3 件事需要注意:
-
如果有人拥有 APK 文件,则无法阻止应用安装。
您可以在 Android 市场开发者控制台中使用您的设备品牌名称过滤特定设备的应用程序。
最好的解决方案是使用 IMEI 信息过滤器。
这是通过以下步骤完成的:
一旦您的应用启动(在初始屏幕显示期间),获取设备的 IMEI 信息, 检查互联网是否可用,如果没有提示用户并暂停任务直到互联网可用 互联网可用后,对照您数据库中的 IMEI 信息检查设备的 IMEI 信息 如果匹配或找到,则向设备返回一个值, 根据返回的值,您可以选择继续启动应用或终止应用进程。注意:
解决第 3 点的最佳方法是在共享偏好上使用代码块,即代码块应仅在应用程序首次启动期间执行,否则您的应用程序可能会让用户感到厌恶一直检查这个。
【讨论】:
【参考方案4】:此时您的解决方案似乎是最方便的。您还可以使用设备管理策略对您的设备进行企业级限制。见:
http://developer.android.com/training/enterprise/device-management-policy.html
【讨论】:
以上是关于我可以阻止应用程序安装在 android 的特定设备中吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用 xmpp + smack + openfire 在 android 中阻止用户