问题描述
我已经为Android应用程序构建了Tizen / Samsung智能手表伴侣应用程序。在Android应用程序内部,我可以检测到Samsung / Tizen手表是否已与Android手机配对,但是缺少智能手表伴侣应用程序。
我正在提示用户安装智能手表伴侣应用程序(如果他们没有的话)。但是,我想通过提供一个供他们单击的按钮来使用户非常容易地获得该伴侣应用程序,该按钮将直接打开galaxy Store到smartwatch伴侣应用程序下载页面。
是否打算在Android手机上打开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)
注意:我需要一个可以在所有带有galaxy Store的Android手机上运行的解决方案,而不仅仅是三星手机。
解决方法
相反。正如我对here的解释,您需要在手表应用的config.xml中添加以下标记,才能从Play商店在Android上自动安装配套应用。
<metadata key="master_app_playstore_deeplink" value="market://details?id={package_id}"/>
如果您通过三星的Galaxy App Store分发Android应用,则需要使用“ samsungapps://”方案。
Android系统对这两种方案一无所知,这就是为什么您会收到该异常,这就是为什么在Android的Intent中使用这些方案将不起作用的原因。
如果还有其他方法可以做您想要的事情,我不知道-您需要进行研究。三星提供的Android SAP库中可能有某些内容。