打开我的应用的Google Play页面,禁用导航/搜索功能

时间:2019-07-04 08:53:26

标签: java android google-play launcher

我正在开发具有启动器功能(也是Device Admin)的应用程序。我的应用程序中有一个按钮,按下该按钮可打开我的应用程序的Google Play列表,以便用户可以更新到最新版本。我正在使用以下代码来实现这一点:

try {
    final String appPackageName = getPackageName(); 
    try {
         startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
    } catch (android.content.ActivityNotFoundException anfe) {
         startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
    }
}catch (Exception e){
    e.printStackTrace();
}

一切正常,在这里没问题。执行上述代码后,将向用户显示以下内容(请原谅希腊文):

enter image description here

由于我的应用程序应充当启动器(在某种意义上,它不应允许其他应用程序启动,尤其是不允许其他启动器应用程序启动),后退按钮和搜索字段对我构成了风险。从理论上讲,用户可以浏览或搜索并下载我下面介绍的其他应用程序:

enter image description here

所以,我的问题是,是否可以在没有后退按钮和搜索栏/图标的情况下启动我的应用的Google Play列表?用户可以在其中执行关于我的应用的操作的页面仅此而已。无法安装其他应用。

如果有人想出一种产生相同结果的替代方法,那么一定要分享您的智慧!但是,此时,我的应用的Google Play列表中没有导航/搜索栏对我来说是圣杯! :D

任何帮助将不胜感激!预先谢谢你。

对预期问题的一些答案。 (认为​​自己已经阅读足够的用户不必超越这一点):

  1. 该应用的目标受众是非常具体的受众特征。它是巴士司机使用蓝牙热敏打印机打印票证并执行各种与工作有关的任务的工具。这些设备不是驾驶员的个人设备,而是由其代理商提供的工作工具。启动器功能尝试解决一个问题,即驱动程序将使用Youtube等e.t.c.这样的应用程序消耗月度移动数据。

  2. 我有一个白名单,用户可以自由启动这些应用。有一个服务可以检查哪个是前台的当前应用程序,如果它不属于白名单,它将立即将用户重定向回我的应用程序(因为没有合法的方法可以杀死那些应用程序)非根设备上的应用)。 这种方法的问题是,如果发布的应用是启动器应用(假设是Nova Launcher),则该启动器应用位于前台的毫秒数在该服务将用户重定向回我的应用之前,启动器应用已经向用户显示了一个对话框,以选择该设备的首选启动器应用(例如以下设备),从而禁用了我的应用并获得了整个设备的免费访问权限:

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用应用内更新来对您的应用进行更新(但这支持API 21及更高版本

  

现在,通过支持API级别21和更高版本,Play Core库使我们能够向用户提供应用内更新。,这意味着我们可以证明用户在我们应用程序范围内时可以进行应用更新

如果您的应用满足API级别(即,最低SDK为21),请遵循此guideline来使用应用内更新