是否可以将一个安卓应用程序隐藏在另一个应用程序中?



我想使用谷歌翻译离线lang.packs。但它必须是带有差异图标的差异.app。

我的应用必须完全脱机工作。如果包在手机上,谷歌翻译确实可以离线工作。但是这些包不能作为独立或 API 格式提供!我确实从另一个答案中知道,lang packs和神经模型是公司的主要价值。所以他们不想把它作为API免费提供给开发人员。

使用像TensorFlow这样的库训练我自己的神经模型是一项艰巨的任务。我想重用现有库\应用程序

基于 Google Play 隐私权政策 在用户不知情的情况下将某个应用隐藏在另一个应用中被视为恶意行为。

明确禁止以下行为:

  • 病毒、特洛伊木马、恶意软件、间谍软件或任何其他恶意 软件。链接到或促进分发或 安装恶意软件。

  • 下载可执行代码的应用或 SDK,例如 dex 文件或 原生代码,来自 Google Play 以外的来源。

  • 引入或利用安全漏洞的应用。

  • 应用窃取用户的身份验证信息(例如 用户名或密码)或模仿其他应用或网站进行欺骗 用户披露个人或身份验证信息。

  • 应用在没有用户事先事先的情况下在设备上安装其他应用 同意。

  • 旨在秘密收集设备使用情况的应用,例如商业应用 间谍软件应用程序。

以下是我的建议。

建议1:推荐方式

  • 检查天气,所需应用程序已安装/不在用户手机中

    try {                          
    context.getPackageManager().getApplicationInfo(packageName, 0);
    return true;  //Application Installed
    }
    catch (PackageManager.NameNotFoundException e) {
    return false; //Application Not Installed
    }
    
  • 如果没有,请将它们重定向到PlayStore(最初在这里回答)

    final String appPackageName = getPackageName(); // getPackageName()
    from Context or Activity object 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))); }
    

建议2:如果您希望离线分发应用程序(而不是通过PlayStore),那么

  • 在主应用程序的"资产"文件夹中附加所需的 Apk 文件
  • 执行与建议 1中相同的检查。但不要重定向到 PlayStore,而是在资产文件夹中启动 Apk 的软件包安装程序。

我已经为这个场景做了一个演示项目。请查看以获取更多参考

最新更新