첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

▶ Launcher 클래스 : QueryUriSupportAsync 정적 메소드를 사용해 UWP 앱 설치 여부 구하기 예제

bool result = await ApplicationHelper.IsUWPApplicationInstalledAsync("Microsoft.BingWeather_8wekyb3d8bbwe");

 

▶ Launcher 클래스 : QueryUriSupportAsync 정적 메소드를 사용해 UWP 앱 설치 여부 구하기

using System;
using System.Threading.Tasks;
using Windows.System;

/// <summary>
/// 애플리케이션 헬퍼
/// </summary>
public static class ApplicationHelper
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Field
    ////////////////////////////////////////////////////////////////////////////////////////// Static
    //////////////////////////////////////////////////////////////////////////////// Private

    #region Field

    /// <summary>
    /// 더미 URI
    /// </summary>
    private static readonly Uri _dummyURI = new Uri("mailto:dummy@daum.net");

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method
    ////////////////////////////////////////////////////////////////////////////////////////// Static
    //////////////////////////////////////////////////////////////////////////////// Public

    #region UWP 애플리케이션 설치 여부 구하기 (비동기) - IsUWPApplicationInstalledAsync(packageName)

    /// <summary>
    /// UWP 애플리케이션 설치 여부 구하기 (비동기)
    /// </summary>
    /// <param name="packageName">패키지명</param>
    /// <returns>UWP 애플리케이션 설치</returns>
    public static async Task<bool> IsUWPApplicationInstalledAsync(string packageName)
    {
        try
        {
            bool result;

            LaunchQuerySupportStatus status = await Launcher.QueryUriSupportAsync
            (
                _dummyURI,
                LaunchQuerySupportType.Uri,
                packageName
            );

            switch(status)
            {
                case LaunchQuerySupportStatus.Available    :
                case LaunchQuerySupportStatus.NotSupported :

                    result = true;

                    break;

                default :

                    result = false;

                    break;
            }

            return result;
        }
        catch
        {
            return false;
        }
    }

    #endregion
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요