From 652243206427f35a256400a149a1734085824cb9 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 02 九月 2020 17:35:03 +0800
Subject: [PATCH] 2020-09-02-4
---
ZigbeeApp/GateWay.Droid/Application.cs | 181 +++++++++++++++++++++++++++++++--------------
1 files changed, 124 insertions(+), 57 deletions(-)
diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs
old mode 100644
new mode 100755
index 96899e7..46946fd
--- a/ZigbeeApp/GateWay.Droid/Application.cs
+++ b/ZigbeeApp/GateWay.Droid/Application.cs
@@ -26,13 +26,13 @@
{
public void OnReq(BaseReq p0)
{
-
+
}
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
Intent = intent;
- com.hdl.home.Application.api.HandleIntent(intent, this);
+ com.hdl.home.Application.api?.HandleIntent(intent, this);
//Finish();
}
public static Action<string> RespAction;
@@ -73,43 +73,71 @@
// 灏嗗簲鐢ㄧ殑appId娉ㄥ唽鍒板井淇�
//api.RegisterApp("wx2ec8f53f6fa36e82");
- com.hdl.home.Application.api.HandleIntent(Intent, this);
+ com.hdl.home.Application.api?.HandleIntent(Intent, this);
}
}
- /// <summary>鈥� /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application鈥� /// </summary>鈥� [Android.App.Application]鈥� public class Application : Android.App.Application鈥� {鈥� public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }鈥ㄢ�� public override void OnCreate()鈥� {
- //瀹夊崜閰嶇綉鍒濆
- //var result = Com.Mediatek.Elian.ElianNative.LoadLib();
- //if (!result)
- //{
- // System.Console.WriteLine("Error,can't load elianjni lib");
- //}
- initAll();鈥� base.OnCreate();
+ /// <summary>鈥� /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application鈥� /// </summary>鈥� [Android.App.Application()]鈥� public class Application : Android.App.Application鈥� {鈥� public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }鈥ㄢ�� public override void OnCreate()鈥� {
+ //濡傛灉涓嶆槸App鐨勪富杩涚▼,鍒欎笉闇�瑕佸鐞�
+ if (this.IsCurrentAppProcess == false)
+ {
+ base.OnCreate();
+ return;
+ }
+ try
+ {
+ //杩欎釜涓滆タ濂藉儚鍙兘浼氬嚭寮傚父
+ this.initAll();
+ }鈥� catch (Exception ex)鈥� {
+ //璋冭瘯:璁板綍绯荤粺寮傚父
+ Shared.Phone.UserCenter.HdlLogLogic.Current.WriteOtherText(Shared.Phone.UserCenter.DirNameResourse.SystemLogFile, ex.Message + "\r\n" + ex.StackTrace, true, false);
+ }鈥� base.OnCreate();
// 閫氳繃WXAPIFactory宸ュ巶锛岃幏鍙朓WXAPI鐨勫疄渚�
- api = WXAPIFactory.CreateWXAPI(this, "wx2ec8f53f6fa36e82", true);
+ //api = WXAPIFactory.CreateWXAPI(this, "wx2ec8f53f6fa36e82", true);
// 灏嗗簲鐢ㄧ殑appId娉ㄥ唽鍒板井淇�
- api.RegisterApp("wx2ec8f53f6fa36e82");
+ api?.RegisterApp("wx2ec8f53f6fa36e82");
+ }
+
+ /// <summary>
+ /// 鍒ゆ柇褰撳墠杩涚▼鏄笉鏄疉pp鑷繁鐨勪富杩涚▼
+ /// </summary>
+ private bool IsCurrentAppProcess
+ {
+ get
+ {
+ var activityManager = (ActivityManager)GetSystemService(ActivityService);
+ var listProcess = activityManager.RunningAppProcesses;
+ foreach (var process in listProcess)
+ {
+ if (process.ProcessName == "com.evoyo.home" && process.Pid == Android.OS.Process.MyPid())
+ {
+ return true;
+ }
+ }
+ return false;
+ }
}
internal static IWXAPI api;
public static void WXLogin() {
var req = new SendAuth.Req { Scope = "snsapi_userinfo", State = "ZigbeeApp" };
- api.SendReq(req);
+ api?.SendReq(req);
}
- /// <summary>鈥� /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜扳�� /// </summary>鈥� void initAll()鈥� {
- string checkFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Shared.Phone.UserCenter.DirNameResourse.OpenGbsFile);
- Shared.Application.IsGpsEnable = System.IO.File.Exists(checkFile);
-
- //璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
- // System.Console.WriteLine($"AAA : {System.DateTime.Now.ToString()}");
-#if Release鈥� JPushInterface.SetDebugMode(true);
+ /// <summary>鈥� /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜扳�� /// </summary>鈥� void initAll()鈥� {
+ Shared.Application.IsGpsEnable = System.IO.File.Exists(Shared.Phone.UserCenter.DirNameResourse.OpenGbsFile);
+
+ //璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
+ // System.Console.WriteLine($"AAA : {System.DateTime.Now.ToString()}");
+#if Release鈥� JPushInterface.SetDebugMode(false);
//淇濆瓨鎵嬫満鍚嶇О鍒版湰鍦版枃浠�
//System.Console.WriteLine($"BBB : {System .DateTime .Now .ToString ()}");
JPushInterface.Init(this);
//System.Console.WriteLine($"CCC : {System.DateTime.Now.ToString()}");
#endif
+
+
BaseActivity.BackKeyAction = () => {
try
{
@@ -156,14 +184,19 @@
};
鈥� BaseActivity.OnCreateActoin += (activity, application) => {
Shared.Application.FontSize = 12;
- AppCenter.Start("4802834a-e7e9-4dd8-93f1-c2f88f0bd464", typeof(Analytics), typeof(Crashes));
-#if Release鈥� //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠垛�� var registrationId = JPushInterface.GetRegistrationID(activity);
+ AppCenter.Start("4802834a-e7e9-4dd8-93f1-c2f88f0bd464", typeof(Analytics), typeof(Crashes));鈥�#if Release鈥� //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠垛�� var registrationId = JPushInterface.GetRegistrationID(activity);
System.Console.WriteLine("registrationId-鏋佸厜id=" + registrationId);
- if (!string.IsNullOrEmpty(registrationId))鈥� {鈥� Shared.Common.Config.Instance.RegistrationID = registrationId;鈥� Shared.Common.Config.Instance.Save();鈥� }鈥�
-#endif鈥� };鈥� BaseActivity.RefreshUIAction += (activity) => {鈥� Shared.Language.CurrentLanguage = "Chinese";鈥� Shared.Common.CommonPage.Instance.Show();鈥� };鈥� BaseActivity.OnResumeAction += (activity) => {鈥� };鈥� BaseActivity.NetworkStateChanged += (v) =>鈥� {鈥� //缃戠粶鐘舵�佸彉鍖栧鐞嗕簨浠�
- Shared.Common.CommonPage.nowNetworkMode = v;鈥� };鈥� BaseActivity.OnDestroyAction += (activity) => {鈥� //socket鍋滄杩炴帴鈥� //ZigBee.Device.ZbGateway.FindGateWaySocket.Stop();鈥� };鈥ㄢ�� HDLUtils.SetAuthoritiesName("com.hdl.home.fileProvider");鈥� }鈥ㄢ�� public static bool IsShowTip = true;鈥� JpushNotificationReceiver myReceiver = new JpushNotificationReceiver { };鈥ㄢ�� /// <summary>鈥� /// 椤圭洰鍚姩鏃剁綉缁滄煡璇⑩�� /// </summary>鈥� void checkSomeInfo()鈥� {鈥� var status = isNetworkAvailable(this);鈥� string internetStatus = "Available";鈥� if (!status)鈥� {鈥� internetStatus = "UnaVailable";鈥� }鈥� else鈥� {鈥� var isWifi = isWifiConnected(this);鈥� if (isWifi)鈥� {鈥� internetStatus = "WiFiConnect";鈥� }鈥� else鈥� {鈥� internetStatus = "MobileConnect";鈥� }鈥� }鈥ㄢ�� int connectState = 0;鈥� if (internetStatus == "UnaVailable")鈥� {鈥� connectState = 0;鈥� }鈥� else if (internetStatus == "WiFiConnect")鈥� {鈥� connectState = 2;鈥� }鈥� else鈥� {鈥� connectState = 1;鈥� }鈥� //ZigBee.Device.ZbGateway.CheckConnection(connectState);鈥� }鈥ㄢ�� /// <summary>鈥� /// 缃戠粶鏄惁鍙敤鈥� /// </summary>鈥� /// <returns><c>true</c>, if network available was ised, <c>false</c> otherwise.</returns>鈥� /// <param name="context">Context.</param>鈥� bool isNetworkAvailable(Context context)鈥� {鈥� var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);鈥ㄢ�� if (cm == null || cm.ActiveNetworkInfo == null)鈥� {鈥� //褰撳墠缃戠粶涓嶅彲鐢ㄢ�� return false;鈥� }鈥� else鈥� {鈥� return cm.ActiveNetworkInfo.IsAvailable;鈥� }鈥� }鈥ㄢ�� /// <summary>鈥� /// 缃戠粶鏄惁杩炴帴鈥� /// </summary>鈥� /// <returns><c>true</c>, if wifi connected was ised, <c>false</c> otherwise.</returns>鈥� /// <param name="context">Context.</param>鈥� bool isWifiConnected(Context context)鈥� {鈥� if (context != null)鈥� {鈥� var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);鈥ㄢ�� var mWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Wifi);鈥� if (Android.Net.NetworkInfo.State.Connected == mWiFiNetworkInfo.GetState())鈥� {鈥� //褰撳墠缃戠粶鏄疻i-Fi杩炴帴鈥� return true;鈥� }鈥ㄢ�� var moWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Mobile);鈥� if (Android.Net.NetworkInfo.State.Connected == moWiFiNetworkInfo.GetState())鈥� {鈥� //褰撳墠缃戠粶鏄疢obile杩炴帴鈥� return false;鈥� }鈥� }鈥� return false;鈥� }
- }
-
+ if (!string.IsNullOrEmpty(registrationId))鈥� {鈥� Shared.Common.Config.Instance.RegistrationID = registrationId;鈥� Shared.Common.Config.Instance.Save();鈥� }鈥� //璋冭瘯:璁板綍鏋佸厜ID鈥� Shared.Phone.UserCenter.HdlLogLogic.Current.WriteOtherText(Shared.Phone.UserCenter.DirNameResourse.JiguangFile, "receive1:" + registrationId, true, true);鈥�#endif鈥� };鈥ㄢ�� 鈥� BaseActivity.RefreshUIAction += (activity) => {鈥� Shared.Language.CurrentLanguage = "Chinese";鈥� Shared.Common.CommonPage.Instance.Show();鈥� };鈥ㄢ�� BaseActivity.NetworkStateChanged += (v) =>鈥� {鈥� };鈥� BaseActivity.OnDestroyAction += (activity) => {鈥� //socket鍋滄杩炴帴鈥� //ZigBee.Device.ZbGateway.FindGateWaySocket.Stop();鈥� };鈥ㄢ�� HDLUtils.SetAuthoritiesName("com.evoyo.home.fileProvider");鈥� }鈥ㄢ�� public static bool IsShowTip = true;鈥� JpushNotificationReceiver myReceiver = new JpushNotificationReceiver { };鈥ㄢ�� /// <summary>鈥� /// 椤圭洰鍚姩鏃剁綉缁滄煡璇⑩�� /// </summary>鈥� void checkSomeInfo()鈥� {鈥� var status = isNetworkAvailable(this);鈥� string internetStatus = "Available";鈥� if (!status)鈥� {鈥� internetStatus = "UnaVailable";鈥� }鈥� else鈥� {鈥� var isWifi = isWifiConnected(this);鈥� if (isWifi)鈥� {鈥� internetStatus = "WiFiConnect";鈥� }鈥� else鈥� {鈥� internetStatus = "MobileConnect";鈥� }鈥� }鈥ㄢ�� int connectState = 0;鈥� if (internetStatus == "UnaVailable")鈥� {鈥� connectState = 0;鈥� }鈥� else if (internetStatus == "WiFiConnect")鈥� {鈥� connectState = 2;鈥� }鈥� else鈥� {鈥� connectState = 1;鈥� }鈥� //ZigBee.Device.ZbGateway.CheckConnection(connectState);鈥� }鈥ㄢ�� /// <summary>鈥� /// 缃戠粶鏄惁鍙敤鈥� /// </summary>鈥� /// <returns><c>true</c>, if network available was ised, <c>false</c> otherwise.</returns>鈥� /// <param name="context">Context.</param>鈥� bool isNetworkAvailable(Context context)鈥� {鈥� var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);鈥ㄢ�� if (cm == null || cm.ActiveNetworkInfo == null)鈥� {鈥� //褰撳墠缃戠粶涓嶅彲鐢ㄢ�� return false;鈥� }鈥� else鈥� {鈥� return cm.ActiveNetworkInfo.IsAvailable;鈥� }鈥� }鈥ㄢ�� /// <summary>鈥� /// 缃戠粶鏄惁杩炴帴鈥� /// </summary>鈥� /// <returns><c>true</c>, if wifi connected was ised, <c>false</c> otherwise.</returns>鈥� /// <param name="context">Context.</param>鈥� bool isWifiConnected(Context context)鈥� {鈥� if (context != null)鈥� {鈥� var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);鈥ㄢ�� var mWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Wifi);鈥� if (Android.Net.NetworkInfo.State.Connected == mWiFiNetworkInfo.GetState())鈥� {鈥� //褰撳墠缃戠粶鏄疻i-Fi杩炴帴鈥� return true;鈥� }鈥ㄢ�� var moWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Mobile);鈥� if (Android.Net.NetworkInfo.State.Connected == moWiFiNetworkInfo.GetState())鈥� {鈥� //褰撳墠缃戠粶鏄疢obile杩炴帴鈥� return false;鈥� }鈥� }鈥� return false;鈥� }
+
+
+ }
+
+ [BroadcastReceiver(Name = "com.evoyo.home.JpushNotificationReceiver", Exported = false, Enabled = true)]
+ [IntentFilter(new string[] { "cn.jpush.android.intent.REGISTRATION",
+ "cn.jpush.android.intent.MESSAGE_RECEIVED",
+ "cn.jpush.android.intent.NOTIFICATION_RECEIVED",
+ "cn.jpush.android.intent.NOTIFICATION_OPENED",
+ "cn.jpush.android.intent.CONNECTION" }, Categories = new string[] { "com.evoyo.home" })]
public class JpushNotificationReceiver : BroadcastReceiver
{
private static string TAG = "JpushNotificationReceiver";
@@ -195,6 +228,10 @@
Shared.Common.Config.Instance.RegistrationID = regId;
Shared.Common.Config.Instance.Save();
}
+#if Release
+ //璋冭瘯:璁板綍鏋佸厜ID
+ Shared.Phone.UserCenter.HdlLogLogic.Current.WriteOtherText(Shared.Phone.UserCenter.DirNameResourse.JiguangFile, "receive2:" + regId, false, true);
+#endif
}
//鐢ㄦ埛鐐瑰嚮鎵撳紑浜嗛�氱煡
else if (JPushInterface.ActionNotificationOpened == intent.Action)
@@ -211,8 +248,8 @@
//鎺ユ敹鍒版帹閫佷笅鏉ョ殑鑷畾涔夋秷鎭�
else if (JPushInterface.ActionMessageReceived == intent.Action)
{
- bundle.GetString(JPushInterface.ExtraMessage);
- }
+ bundle.GetString(JPushInterface.ExtraMessage);
+ }
else
{
}
@@ -257,43 +294,73 @@
//String myValue = "";
try
{
- VideoMethod(extras);
- //JSONObject extrasJson = new JSONObject(extras);
- //myValue = extrasJson.OptString("myKey");
-
+ VideoMethod(extras);
+ //JSONObject extrasJson = new JSONObject(extras);
+ //myValue = extrasJson.OptString("myKey");
+
}
catch (Exception e)
{
System.Console.WriteLine(TAG, "Unexpected: extras is not a valid json", e);
return;
- }
-
- //if (TYPE_THIS.equals(myValue))
- //{
- //Intent mIntent = new Intent(context, ThisActivity.class);
- //mIntent.putExtras(bundle);
- //mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- //context.startActivity(mIntent);
- //}
- //else if (TYPE_ANOTHER.equals(myValue))
- //{
- //Intent mIntent = new Intent(context, AnotherActivity.class);
- //mIntent.putExtras(bundle);
- //mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- //context.startActivity(mIntent);
- //}
+ }
+
+ //if (TYPE_THIS.equals(myValue))
+ //{
+ //Intent mIntent = new Intent(context, ThisActivity.class);
+ //mIntent.putExtras(bundle);
+ //mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ //context.startActivity(mIntent);
+ //}
+ //else if (TYPE_ANOTHER.equals(myValue))
+ //{
+ //Intent mIntent = new Intent(context, AnotherActivity.class);
+ //mIntent.putExtras(bundle);
+ //mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ //context.startActivity(mIntent);
+ //}
}
+ /// <summary>
+ /// android閫氱煡鏍忕偣鍑绘墦寮�鍙瀵硅鐨勬柟娉�
+ /// </summary>
+ /// <param name="hiddenJson">浜戠鎺ㄨ繃鏉ョ殑鏁版嵁</param>
+ private void VideoMethod(string hiddenJson)
+ {
+ var hiddanJson = Newtonsoft.Json.Linq.JObject.Parse(hiddenJson);
+ if (hiddanJson == null)
+ {
+ return;
+ }
+ var json = Newtonsoft.Json.Linq.JObject.Parse(hiddanJson["HiddanJson"].ToString());
+ if (json == null)
+ {
+ return;
+ }
+ Shared.Phone.VideoPhone.ESVideoInfo eSVideoInfo = new Shared.Phone.VideoPhone.ESVideoInfo();
+ if (json["uuid"].ToString().Contains(","))
+ {
+ var uuid = json["uuid"].ToString().Split(',');
+ eSVideoInfo.ESVideoUUID = uuid[0];
+ }
+ else
+ {
+ eSVideoInfo.ESVideoUUID = json["uuid"].ToString();
+ }
+ eSVideoInfo.DeviceName = Language.StringByID(Shared.R.MyInternationalizationString.theOutdoorUnit);
+ eSVideoInfo.ESRoomID = int.Parse(json["roomno"].ToString());
+ if (!string.IsNullOrEmpty(json["unitno"].ToString()))
+ {
+ string str = json["unitno"].ToString();
+ string str1 = str.Substring(0, 2).TrimStart('0');
+ string str2 = str.Substring(2, 2).TrimStart('0');
+ eSVideoInfo.RoomName = str1 + Language.StringByID(Shared.R.MyInternationalizationString.dong) + str2 + Language.StringByID(Shared.R.MyInternationalizationString.unit);
+ }
-
-
-
-
-
- /// <summary>
/// android閫氱煡鏍忕偣鍑绘墦寮�鍙瀵硅鐨勬柟娉�
/// </summary>
/// <param name="hiddenJson">浜戠鎺ㄨ繃鏉ョ殑鏁版嵁</param>
private void VideoMethod(string hiddenJson)
{
var hiddanJson = Newtonsoft.Json.Linq.JObject.Parse(hiddenJson);
if (hiddanJson == null)
{
return;
}
var json = Newtonsoft.Json.Linq.JObject.Parse(hiddanJson["HiddanJson"].ToString());
if (json == null)
{
return;
}
Shared.Phone.VideoPhone.ESVideoInfo eSVideoInfo = new Shared.Phone.VideoPhone.ESVideoInfo();
if (json["uuid"].ToString().Contains(","))
{
var uuid = json["uuid"].ToString().Split(',');
eSVideoInfo.ESVideoUUID = uuid[0];
}
else
{
eSVideoInfo.ESVideoUUID = json["uuid"].ToString();
}
eSVideoInfo.DeviceName = Language.StringByID(Shared.R.MyInternationalizationString.theOutdoorUnit);
eSVideoInfo.ESRoomID = int.Parse(json["roomno"].ToString());
if (!string.IsNullOrEmpty(json["unitno"].ToString()))
{
string str = json["unitno"].ToString();
string str1 = str.Substring(0, 2).TrimStart('0');
string str2 = str.Substring(2, 2).TrimStart('0');
eSVideoInfo.RoomName = str1 + Language.StringByID(Shared.R.MyInternationalizationString.dong) + str2 + Language.StringByID(Shared.R.MyInternationalizationString.unit);
}
Shared.Phone.VideoPhone.ESVideo.ShowESvideoVideoIntercom(eSVideoInfo);
-
+ Shared.Phone.VideoPhone.ESVideo.ShowESvideoVideoIntercom(eSVideoInfo);
+
}
}
}
--
Gitblit v1.8.0