如何从 Xamarin 查找 Android 中是否安装了特定应用程序?

Kat*_*iko 4 c# android-intent xamarin.android

在 Xamarin Android 中,我使用隐式意图来加载另一个应用程序。这可以是浏览器或其他任何东西。如果我想加载 Facebook 链接,操作系统允许我选择使用浏览器或特别是 Facebook 应用程序。页面所有者制作应用程序的其他一些链接也是如此。

有没有办法查明当前移动设备上是否安装了特定应用程序(例如 Stack Overflow 应用程序)?

Rob*_*uce 6

是的,这里有一个 Xamarin/C# 函数,它会告诉您是否安装了特定应用程序(通过其包名称):

public bool IsAppInstalled(string packageName) {
    try {
        PackageManager.GetPackageInfo(packageName, PackageInfoFlags.Activities);
        return true;
    }
    catch (PackageManager.NameNotFoundException ex) {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

调用示例:

bool bIsAppInstalled = IsAppInstalled("com.theirdomain.someapp");
Run Code Online (Sandbox Code Playgroud)