打算在 Android phone 上打开 Tizen / Galaxy / Samsung App Store

Intent to open Tizen / Galaxy / Samsung App Store on Android phone

我为 Android 应用构建了一个 Tizen/Samsung 智能手表配套应用。在 Android 应用程序中,我可以检测到 Samsung/Tizen 手表是否已与 Android phone 配对,但缺少智能手表配套应用程序。

我提示用户如果没有安装智能手表配套应用程序。但是,我想让用户很容易地获得配套应用程序,方法是提供一个按钮供他们单击,这将直接打开 Galaxy Store 到智能手表配套应用程序下载页面。

是否有意向 Android phone 上的特定应用程序页面打开 Galaxy Store?

我已经根据 SO 上的其他答案进行了尝试:

val intent = Intent(Intent.ACTION_VIEW, Uri.parse("samsungapps://ProductDetail/com.sec.android.app.samsungapps"))
startActivity(intent)

崩溃:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=samsungapps://ProductDetail/com.sec.android.app.samsungapps }
    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2058)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1716)
    at android.app.Activity.startActivityForResult(Activity.java:5211)
    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:675)
    at android.app.Activity.startActivityForResult(Activity.java:5169)
    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:662)
    at android.app.Activity.startActivity(Activity.java:5540)
    at android.app.Activity.startActivity(Activity.java:5508)

注意:我需要一个适用于所有 Android phone Galaxy Store 的解决方案,而不仅仅是三星 phones。

情况正好相反。正如我所解释的 here,您需要将以下标签添加到手表应用程序的 config.xml 到 auto-install 来自 Play 商店 Android 上的配套应用程序。

<metadata key="master_app_playstore_deeplink" value="market://details?id={package_id}"/>

如果您通过三星的 Galaxy App Store 分发 Android 应用程序,则需要使用“samsungapps://”方案。

Android 系统对这两种方案都一无所知,这就是为什么你会得到那个例外,这就是为什么在 Android 的 Intent 中使用这些方案将不起作用。

如果有其他方法可以做您想要的事情,我不知道 - 您需要研究一下。 Android 三星提供的 SAP 库中可能有一些东西。