/// <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; } }
/// <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)); }
/// <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); } } }