internal Windows10RawNotificationSender(string packageSID, string secretKey,
                                                EventHandler <Exception> internetErrorcOccurred,
                                                EventHandler <DelegatesAndEnums.BadURIEventArgs> badURIErrorOccurred,
                                                EventHandler <Exception> notAccecptableErrorOccurred,
                                                EventHandler <Exception> unknowErrorOccurred,
                                                EventHandler <DeviceNotification> sendSuccessed,
                                                EventHandler <Exception> wrongPackageSIDOrSecretKey)
        {
            PackageSID = packageSID;
            SecretKey  = secretKey;
            InternetOrFirewallErrorOccurred = internetErrorcOccurred;
            BadURIErrorOccurred             = badURIErrorOccurred;
            NotAccecptableErrorOccurred     = notAccecptableErrorOccurred;
            UnknowErrorOccurred             = unknowErrorOccurred;
            SendSuccessed = sendSuccessed;
            WrongPackageSIDOrSecretKey = wrongPackageSIDOrSecretKey;

            token      = new Windows10TokenAccess(PackageSID, SecretKey);
            Tconverter = new MyBitConverter <T>();
            // mới bật chương trình lên thì làm mới lại token bất đồng bộ để tránh cản trở chương trình khởi động
            //Task.Run(() =>
            //{
            //    while (true)
            //    {
            //        try
            //        {
            //            token.RenewToken();
            //            break;
            //        }
            //        catch (UnauthorizedAccessException uex)
            //        {
            //            if (WrongPackageSIDOrSecretKey(uex, new DelegatesAndEnums.ChoicesOnAuthenticationErrorOccurreddEventArgs(uex, ChangePackAgeSIDAndSecretKey)) == DelegatesAndEnums.TryAgainOrCancel.Cancel)
            //                break;
            //        }
            //        catch
            //        {
            //            break;
            //        }
            //    }
            //});
        }
 private void ChangePackAgeSIDAndSecretKey(string packageSID, string SecretKey)
 {
     token = new Windows10TokenAccess(packageSID, SecretKey);
 }