打开我的应用程序的 Google 播放页面,禁用 navigation/search 功能

Open Google Play page of my app, with navigation/search features disabled

我正在开发一个具有启动器功能(也是设备管理)的应用程序。在我的应用程序中有一个按钮,按下该按钮会打开我的应用程序的 Google 播放列表,以便用户可以更新到最新版本。我正在使用以下代码来实现此目的:

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();
}

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

由于我的应用程序应作为启动器运行(从某种意义上说,它不应允许启动其他应用程序,尤其是其他启动器应用程序),后退按钮和搜索字段对我构成了风险。理论上,用户可以导航或搜索并下载除我自己的以外的其他应用程序,如下所示:

所以,我的问题是,有没有办法在没有后退按钮和搜索的情况下启动我的应用程序的 Google 播放列表 bar/icon?一个页面,用户可以在其中执行有关我的应用程序的操作,仅此而已。无法安装其他应用程序。

如果有人提出了产生相同结果的替代方法,请务必分享您的智慧!但是 a Google 我的应用程序的播放列表没有 navigation/search 顶部的栏 将是我此时的圣杯! :D

如有任何帮助,我们将不胜感激!提前谢谢你。

一些预期问题的答案。 (觉得已经看够了的用户可以不用过了):

  1. 该应用针对非常具体的人群。它是公交车司机通过蓝牙使用热敏打印机打印车票并执行各种工作相关任务的工具。这些设备不是司机的个人设备,而是他们的机构作为工作工具提供的设备。启动器功能试图解决司机使用 Youtube e.t.c.

  2. 等应用消耗每月移动数据的问题
  3. 我有一个 白名单 的应用程序,用户可以自由启动这些应用程序。有一个 service 检查哪个是前台的当前应用程序,如果它不属于白名单,它会立即将用户重定向回我的应用程序(因为没有合法的方法在 non-rooted 设备上终止这些应用程序)。 这种方法的问题是,如果启动的应用程序是启动器应用程序(比方说 Nova Launcher),那么在毫秒内,这在服务将用户重定向回我的应用程序之前,启动器应用程序位于前台,启动器应用程序已经向用户展示了一个对话框,可以为设备选择首选启动器应用程序,如下所示,从而禁用我的应用程序并获得免费访问权限跨设备:

您可以使用 in-app-updates 更新您的应用程序(但此 支持 API 21 岁及以上

Supporting API level 21 and above, the Play Core library now allows us to offer in-app updates to our users — meaning we can show that an app update is available whilst the user is within the context of our application

如果您的应用满足 API 级别(即最低 SDK 为 21),请按照此 guideline 使用 in-app-updates