Exemplo n.º 1
0
        /// <summary>
        /// 重写ITagAliasCallback方法
        /// </summary>
        /// <param name="p0">P0.</param>
        /// <param name="p1">P1.</param>
        /// <param name="p2">P2.</param>
        public void GotResult(int code, string alias, ICollection <string> tags)
        {
            string logs;

            switch (code)
            {
            case 0:
                logs = "set alias or tags sucess";
                Log.Debug(Tag, logs);
                //写入shareprefrences值,保存
                sp_jpushInfo.Edit().PutString(Global.Jpush_Alias, alias).Commit();
                break;

            case 6002:
                logs = "failed set to alias or tags due to timeout,try again after 60s";
                Log.Debug(Tag, logs);
                if (EldYoungUtil.IsConnected(context))
                {
                    handler.SendMessageDelayed(handler.ObtainMessage(MSG_SET_ALIAS, alias), 1000 * 60);
                }
                else
                {
                    Log.Debug(Tag, "no network");
                }
                break;

            default:
                logs = "faild with errcode:" + code;
                Log.Debug(Tag, logs);
                break;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 设置alias
        /// </summary>
        /// <param name="alias">Alias.</param>
        public void SetAlias(string alias)
        {
            if (string.IsNullOrEmpty(alias))
            {
                return;
            }
            if (!EldYoungUtil.IsValidTagAndAlias(alias))
            {
                return;
            }
            //判断是否已经设置过别名,若设置过,将不在设置
            var jpush_alias = sp_jpushInfo.GetString(Global.Jpush_Alias, string.Empty);

            if (alias == jpush_alias)
            {
                return;
            }
            //使用hanlder异步设置alias
            handler.SendMessage(handler.ObtainMessage(MSG_SET_ALIAS, alias));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 检测是否需要更新,调用web服务
        /// </summary>
        /// <returns><c>true</c> if this instance is update; otherwise, <c>false</c>.</returns>
        private bool IsUpdate()
        {
            var checkFlag  = false;
            var returnFlag = false;

            // 获取本地软件版本号,
            localversionCode = EldYoungUtil.GetAppVersionCode(context);
            //localversionCode =eldyoungUtil.GetAppVersionCode;
            //获取webservice中android app版本号,两者比较,如果不同,返回true else false
            //检测网络连接
            if (!EldYoungUtil.IsConnected(context))
            {
                return(returnFlag);
            }
            var getAppVersionParam = new GetAppVersionParam();

            if (!requestParams.ContainsKey("key"))
            {
                requestParams.Add("key", getAppVersionParam.Key);
            }
            else
            {
                requestParams ["key"] = getAppVersionParam.Key;
            }
            if (!requestParams.ContainsKey("eappPlatform"))
            {
                requestParams.Add("eappPlatform", getAppVersionParam.EappPlatform);
            }
            else
            {
                requestParams ["eappPlatform"] = getAppVersionParam.EappPlatform;
            }

            if (!requestParams.ContainsKey("epackageName"))
            {
                requestParams.Add("epackageName", getAppVersionParam.EpackageName);
            }
            else
            {
                requestParams ["epackageName"] = getAppVersionParam.EpackageName;
            }

            if (!requestParams.ContainsKey("md5"))
            {
                requestParams.Add("md5", getAppVersionParam.Md5);
            }
            else
            {
                requestParams ["md5"] = getAppVersionParam.Md5;
            }

            var restSharpRequestHelp = new RestSharpRequestHelp(getAppVersionParam.Url, requestParams);

            restSharpRequestHelp.ExcuteAsync((RestSharp.IRestResponse response) => {
                if (response.ResponseStatus == RestSharp.ResponseStatus.Completed && response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    //获取并解析返回resultJson获取安全码结果值
                    var result = response.Content;
                    if (string.IsNullOrEmpty(result))
                    {
                        checkFlag = true;
                    }
                    else
                    {
                        var appVersionJson = JsonConvert.DeserializeObject <GetAppVersionJson>(result);
                        if (appVersionJson.statuscode == "1")
                        {
                            var serverAppVersionCode = appVersionJson.data.AppServerVersionCode;
                            if (localversionCode != serverAppVersionCode)
                            {
                                //版本不一致有更新
                                Global.AppPackagePath = appVersionJson.data.AppFilePath;
                                returnFlag            = true;
                                checkFlag             = true;
                            }
                            else
                            {
                                checkFlag = true;
                            }
                        }
                        else
                        {
                            checkFlag = true;
                        }
                    }
                }
                else
                {
                    checkFlag = true;
                    Log.Info("CheckAppServerVersion", string.IsNullOrEmpty(response.StatusDescription)?"":response.StatusDescription);
                }
            });

            while (true)
            {
                //检测完成
                if (checkFlag)
                {
                    return(returnFlag);
                }
            }
        }