如何通过xamarin表单识别我的设备中是否已安装某个特定应用程序? (我想在android和ios中实现)。
说明:
在 原生Windows应用程序 中,我使用了一项服务,它可以提供以下数据(应用程序名称,应用程序图标图像,应用程序ID,发布者ID,版本名称)。
我已经通过App Name,App Id,Publisher Id检查了我的设备中是否已安装特定应用程序。
假设安装了应用程序然后我检查了应用程序的版本,如果它完全更新,然后显示“启动”按钮,如果不是,则显示“更新”按钮。
如果未安装应用程序,则会显示“安装”按钮,此按钮会直接通过Play商店重定向。
我希望通过xamarin表单在android和ios中实现相同的功能。
通过Android和ios的服务需要哪些东西?
如何直接重定向到Android和ios中的Play商店?
答案 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。