控制应用方案的流程。

时间:2014-10-21 15:48:41

标签: android ios

我工作的公司开发了一个带有两个相关应用的服装网站。一个用于一般服装购买,另一个专门用于女鞋。这两个应用程序都有iOS和Android版本。

我们目前为这两款应用设定了自定义方案:mycompany://mycompanyladyshoes://。在用户点击mycompanyladyshoes://...的链接后,我想知道是否有办法,并且没有女士们的帮助。安装了鞋子应用程序然后重定向到原始应用程序,然后然后如果该应用程序未安装重定向到Play / iTunes商店。

如果安装了某些应用程序,有没有办法控制链接指向的位置?

1 个答案:

答案 0 :(得分:0)

(这是针对Android的,我不知道iOS使用的是什么类型的功能)

您要做的是向接收应用中接受自定义方案的活动添加<intent-filter>

<activity ... >
    <intent-filter>
        <action name="android.intent.action.VIEW" />
        <data android:scheme="mycompanyladyshoes" />
    </intent-filter>
</activity>

要启动Play商店(如果未安装),您可以先检查设备是否安装了可以打开隐含意图的应用程序:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("mycompanyladyshoes://");

// check if it can be handled
PackageManager pm = context.getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(intent);
if (activities != null && activities.size() > 0) {
    // an installed app can resolve this intent
    startActivity(intent);
} else {
    // no installed app can resolve it; open play store instead
    intent.setData(Uri.parse("market://details?id=" + appPackageName));
    startActivity(intent);
}