4

我有一个不应安装在所有手机上的企业应用程序。我有 50 部带有 IMEI 信息的手机,我的应用程序应该只安装在这 50 部手机中。即使他获得了apk,用户也不应该能够安装我的应用程序。

我试过这个:如果我安装了应用程序,那么我可以检查手机的IMEI号码是否是50个中的一个。如果不是50个,我可以阻止他登录。但我想阻止安装在降低风险的首要任务。

4

4 回答 4

1

AFAIK,如果有 APK 文件,则无法阻止应用程序安装。尽管您可以像我认为您所做的那样阻止该应用程序在特定设备上运行。

否则,如果您想通过网络安装应用程序,您可以在这里查看。使用它,您可以仅在您想要允许的设备上安装该应用程序。

于 2013-01-09T06:43:20.860 回答
1

正如@Sahil 所说,如果有apk 文件,您无法阻止不安装您的应用程序。

但是,AFAIK 你是说你有 50 部手机的 IMEI 号码。因此,我认为使用“以下策略”可以实现 70% 的可能性。

我想我可以帮助您在一定程度上解决您的问题(不完全)。

正如我所说,它不会完全解决您的问题,但您可以限制您的应用程序不安装在您的 50 个移动品牌名称列表之外的其余设备中。

您可以防止您的应用程序未安装 在您的 50 个手机列表之外的所有其他品牌/型号中。

您可以做的是使用您的设备品牌名称过滤特定设备的应用程序。

通过使用下方,您将不必根据编程过滤您的应用程序。

坚果,您可以从 android 市场开发者控制台执行操作 - 当您发布您的应用程序时。

开发者控制台上有一个“支持的设备”部分,它向您显示了可以访问 android 市场的所有设备的列表。然后,您可以过滤掉与您的应用程序不兼容的设备或制造商

这是主开发者控制台中的部分:

这是主开发者控制台中的部分

您可以在此处排除设备和/或制造商,使其无法查看您的应用

您可以在此处排除设备和/或制造商,使其无法查看您的应用

有关更多信息,请参阅设备可用性帮助页面,其中显示:

设备可用性对话框可以通过两种强大的方式帮助开发人员:

了解哪些设备可以在 Android 电子市场中找到您的应用

  1. 设备可用性根据您的清单设置提供兼容设备的动态列表。例如,如果您的 apk 清单指定大屏幕尺寸,则控制台将反映可以在 Market 中找到您的应用的受支持设备。

  2. 您还可以使用动态搜索功能来查看您的应用程序不可用的设备。您可以按制造商、设计名称(例如“Passion”)或实际的公共设备名称(例如“Nexus One”)进行搜索,以查看您的清单设置是否过滤了设备。过滤有问题或不兼容的设备 此功能为开发人员提供了特定于设备的管理选项。当您将设备添加到“手动排除的设备”列表时,您的应用程序将无法用于市场中该排除的设备。这主要是为了帮助开发人员提供可能的最佳用户体验,帮助开发人员过滤已知存在兼容性问题的设备。

正如我所说,它不会完全解决您的问题,但您可以限制您的应用程序不安装在您的 50 个移动品牌名称列表之外的其余设备中。

希望它会帮助你。

于 2013-01-09T07:50:51.807 回答
1

虽然这是旧的,但如果有人遇到这样的需求,有 3 件事需要注意:

  1. 如果有人拥有 APK 文件,则无法阻止应用安装。
  2. 您可以在 android 市场开发者控制台中使用您的设备品牌名称过滤特定设备的应用程序。
  3. 最好的解决方案是使用 IMEI 信息过滤器。

这是通过以下步骤完成的:

  • 一旦您的应用程序启动(在启动屏幕显示期间),获取设备的 IMEI 信息,
  • 检查互联网是否可用,如果不提示用户并暂停任务,直到互联网可用
  • 一旦互联网可用,请根据您在数据库中的 IMEI 信息检查设备的 IMEI 信息
  • 如果它们匹配或找到,则向设备返回一个值,
  • 根据返回的值,您可以选择继续启动应用程序或终止应用程序进程。

笔记:

关于第 3 点的最佳方法是在共享首选项上使用代码块,即代码块应仅在应用程序首次启动期间执行,否则如果您必须检查,您的应用程序可能会让用户反感每时每刻。

于 2016-04-30T20:19:01.167 回答
0

在这一点上,您的解决方案似乎是最方便的。您还可以使用设备管理策略对您的设备进行企业级限制。看:

http://developer.android.com/training/enterprise/device-management-policy.html

于 2013-01-09T06:39:20.067 回答