Browse Source

修复有可能阻挡服务器发送广播的问题

vothin 1 year ago
parent
commit
0cf72dab63
3 changed files with 10 additions and 7 deletions
  1. 10 7
      jni/logic/startLogic.cc
  2. BIN
      libs/armeabi/libzkgui.so
  3. BIN
      obj/activity/startActivity.o

+ 10 - 7
jni/logic/startLogic.cc

@@ -64,21 +64,24 @@ namespace {
 				EASYUICONTEXT->openActivity("callActivity");
 				CloseUi();
 			}
-			else {
+
+			voip::CallInfo info = GetTelephone()->GetCallInfo();
+			LOGD("info.id == %d", info.id);
+			LOGD("info.remote_uri == %s", info.remote_uri.c_str());
+			LOGD("info.remote_contact == %s", info.remote_contact.c_str());
+
+			string sipId = info.remote_uri.substr(info.remote_uri.find(":") + 1, info.remote_uri.find("@") - info.remote_uri.find(":") - 1);
+			LOGD("sipId == %s", sipId.c_str());
+			if (sipId != "0000000000") {
 				const char* currentAppName = EASYUICONTEXT->currentAppName();
 				string _currentAppName = currentAppName;
 				if (_currentAppName != "callActivity") {
 					telephone->Hangup();
-					LOGD("=================> bu zai tong hua jie mian, zhi jie gua duan!");
+					LOGD("=================> 不在通话界面,直接挂断!");
 					return;
 				}
 			}
 
-			voip::CallInfo info = GetTelephone()->GetCallInfo();
-			LOGD("info.id == %d", info.id);
-			LOGD("info.remote_uri == %s", info.remote_uri.c_str());
-			LOGD("info.remote_contact == %s", info.remote_contact.c_str());
-
 			if (state == voip::STATE_CALL_INCOMING) {
 				if (telephone->GetCallCount() > 1) {
 					LOGD("call count > 1, return");

BIN
libs/armeabi/libzkgui.so


BIN
obj/activity/startActivity.o