我能阻止某个应用在特定的Android设备上安装吗?

4
我有一个企业应用程序,不应该在所有手机上安装。我有50个手机及其IMEI信息,我的应用程序只能安装在这50个手机上。即使用户得到apk文件,他也不能安装我的应用程序。
我尝试过这样做: 如果我安装了应用程序,那么我可以检查手机的IMEI号码是否在这50个号码之间。 如果不在这50个号码之间,我可以防止其登录。但我想事先防止安装以减少风险。
4个回答

1
虽然这是老旧的,但如果有人遇到这种需求,需要注意3件事:
  1. 如果有APK文件,无法阻止应用程序的安装。
  2. 您可以在Android市场开发者控制台中使用设备品牌名称为特定设备过滤应用程序。
  3. 最佳解决方案是使用IMEI信息过滤器。
以下是完成此操作的步骤:
  • 启动应用程序(在闪屏屏幕显示期间)后,获取设备的IMEI信息,
  • 检查是否可用互联网,如果不可用则提示用户并暂停任务直到互联网可用
  • 一旦互联网可用,请将设备的IMEI信息与您在数据库中拥有的IMEI信息进行比较
  • 如果它们匹配或找到,则向设备返回一个值,
  • 基于返回的值,您可以选择继续应用程序的启动或关闭应用程序进程。
注意:
最好的方法是在共享首选项上使用代码块,即仅在应用程序的第一次启动期间执行代码块,否则如果您必须一直检查此代码块,您的应用程序可能会使用户感到不满。

1
据我所知,如果有APK文件,就无法防止应用程序的安装。虽然您可以防止应用程序在特定设备上运行,就像您所做的那样。
否则,如果您想通过网络安装应用程序,可以在这里查看。使用此功能,您只能在允许的设备上安装应用程序。

1

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

但是,根据我所知,您说您拥有 50 部手机的 IMEI 号码。因此,我认为以下策略可能有 70% 的成功率。

我认为我可以帮助您在某种程度上解决您的问题(但并非完全解决)。

正如我所说,这不会完全解决您的问题,但您可以限制您的应用程序无法安装在其他不在您的 50 部移动设备品牌名称列表中的设备上。

您可以防止您的应用程序在所有其他品牌/型号的设备上被安装,而这些设备不在您的 50 部手机列表中。

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

通过使用以下内容,您将不必基于编程来过滤您的应用程序。

但您可以在发布应用程序时从 Android 市场开发人员控制台设置,这里

在开发者控制台上有一个“支持的设备”部分,它会显示可以访问Android市场的所有设备的列表。然后,您可以过滤掉与您的应用不兼容的设备或制造商。
这是主要开发者控制台中的部分:

This is the section in the main developer console

在这里,您可以排除设备和/或制造商无法查看您的应用程序

Here you can exclude devices and/or manufacturers from being able to see your app

如需更多信息,请参考设备可用性帮助页面,该页面如下所述:

设备可用性对话框可以以两种强大的方式帮助开发人员: 了解哪些设备可以在Android市场中找到您的应用程序 1. 设备可用性根据您的清单设置提供兼容设备的动态列表。例如,如果您的apk清单指定了大屏幕尺寸,则控制台将反映出支持的设备,这些设备可以在市场上找到您的应用程序。 2. 您还可以使用动态搜索功能查看您的应用程序不可用的设备。您可以按制造商、设计名称(例如“Passion”)或实际公共设备名称(例如“Nexus One”)进行搜索,以查看您的清单设置是否过滤了某个设备。过滤问题或不兼容的设备此功能为开发人员提供了针对特定设备的管理选项。当您将设备添加到“手动排除设备”列表中时,您的应用程序将无法在市场上提供给该被排除的设备。这主要是为了帮助开发人员提供最佳的用户体验,通过帮助开发人员过滤已知具有兼容性问题的设备。

正如我所说,这并不能完全解决您的问题,但您可以限制您的应用程序不被安装在其他不在您的50个移动品牌名称列表中的设备上。

希望这能帮到您。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接