如何使用xamarin表单(Android和ios)在我的设备中安装或不安装某些特定的应用程序

时间:2016-09-29 12:02:08

标签: xamarin xamarin.ios xamarin.android xamarin.forms

如何通过xamarin表单识别我的设备中是否已安装某个特定应用程序? (我想在android和ios中实现)。

说明:

原生Windows应用程序 中,我使用了一项服务,它可以提供以下数据(应用程序名称,应用程序图标图像,应用程序ID,发布者ID,版本名称)。

我已经通过App Name,App Id,Publisher Id检查了我的设备中是否已安装特定应用程序。

假设安装了应用程序然后我检查了应用程序的版本,如果它完全更新,然后显示“启动”按钮,如果不是,则显示“更新”按钮。

如果未安装应用程序,则会显示“安装”按钮,此按钮会直接通过Play商店重定向。

我希望通过xamarin表单在android和ios中实现相同的功能。

通过Android和ios的服务需要哪些东西?

如何直接重定向到Android和ios中的Play商店?

1 个答案:

答案 0 :(得分:0)

方法1:

尝试使用App Links。您需要从Component Store安装 Rivets 组件。如果没有安装,您可以处理导航以播放商店,也可以根据您的URL处理浏览器。

split(dt, with(rle(dt$c), rep(seq_along(values), lengths)))

您的应用现在将尝试使用应用链接导航到另一个已安装的网址,或者在ios中退回到Rivets.AppLinks.Navigator.Navigate("http://any.old.url"); ,或者将回退到使用带有视图操作的usingUIApplication.OpenUrl在Android中,如果找不到App Link元数据,或者没有安装元数据的应用程序。

方法2:

例如,我已经处理了facebook应用程序从我的xamarin应用程序打开页面的情况,但没有使用App Links

intent

执行上面的代码行,将在facebook app中打开指定的facbook页面。注意" fb:// page / page_id" 这是facebook提供的特定uri的意图。您可以阅读更多相关信息here

使用Plugin.Share使用Device.OpenUri(new Uri("fb://page/page_id")); // Launch the page in facebook app (if facebook app is installed) from my application. 从您的xamarin应用中打开浏览器跨平台。我在下面使用过。

如果未安装facebook应用程序,上述代码将抛出异常,然后您可能需要重定向到Android的Play商店或Apple的应用程序商店。

对于Android:

CrossShare

这里 com.facebook.katana 是android中facebook app的包名。如果在Playstore上注册,您可以替换您的应用程序包名称。这将自动在Playstore中启动而不是在浏览器中启动。

如果IOS重定向到App Store:

CrossShare.Current.OpenBrowser("https://play.google.com/store/apps/details?id=com.facebook.katana");

此处 id284882215 是Apple在App Store上的应用ID。