From 8056b53176cddb9d154e3c3ffc4a11354b338fcf Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期四, 25 九月 2025 13:46:17 +0800
Subject: [PATCH] 代码同步
---
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java | 62 ++++++++++++++++++++----------
1 files changed, 41 insertions(+), 21 deletions(-)
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java
index 6462798..ada707d 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java
@@ -1,25 +1,22 @@
package com.hdl.hdllinphonesdk.core.service;
+import static com.hdl.hdllinphonesdk.HDLLinphoneKit.HDLLinphoneKitNAME;
+
import android.app.AlarmManager;
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.os.Binder;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.SystemClock;
-import android.support.v4.app.NotificationCompat;
-
+import com.google.gson.Gson;
import com.hdl.hdllinphonesdk.R;
-import com.hdl.hdllinphonesdk.activity.HDLLinphoneIntercomActivity;
-import com.hdl.hdllinphonesdk.activity.HDLLinphoneReverseCallActivity;
import com.hdl.hdllinphonesdk.core.callback.PhoneCallback;
import com.hdl.hdllinphonesdk.core.callback.RegistrationCallback;
import com.hdl.hdllinphonesdk.core.linphone.KeepAliveHandler;
@@ -33,7 +30,6 @@
import org.linphone.core.PayloadType;
import org.linphone.core.ProxyConfig;
import org.linphone.core.RegistrationState;
-import org.linphone.core.ToneID;
import org.linphone.core.VideoActivationPolicy;
import org.linphone.core.VideoDefinition;
import org.linphone.core.tools.Log;
@@ -46,12 +42,10 @@
import java.util.Timer;
import java.util.TimerTask;
-import static com.hdl.hdllinphonesdk.HDLLinphoneKit.HDLLinphoneKitNAME;
-
public class HDLLinphoneService extends Service {
private static final String START_LINPHONE_LOGS = " ==== HDLLinphoneService ====";
// Keep a static reference to the Service so we can access it from anywhere in the app
- private static HDLLinphoneService sInstance;
+ private volatile static HDLLinphoneService sInstance;
private PendingIntent mKeepAlivePendingIntent;
private static PhoneCallback sPhoneCallback;//閫氳瘽鐘舵�佸洖璋�
@@ -84,9 +78,18 @@
return sInstance.mCore;
}
+ public class LinphoneBinder extends Binder {
+
+ public HDLLinphoneService getService() {
+ return HDLLinphoneService.this;
+ }
+ }
+
+ private final IBinder binder = new LinphoneBinder();
+
@Override
public IBinder onBind(Intent intent) {
- return null;
+ return binder;
}
/**
@@ -133,7 +136,14 @@
hdlStartForeground();
initLinphone();
Intent intent = new Intent(this, KeepAliveHandler.class);
- mKeepAlivePendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+// mKeepAlivePendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+
+ if (android.os.Build.VERSION.SDK_INT >= 31) {
+ mKeepAlivePendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_IMMUTABLE);
+ } else {
+ mKeepAlivePendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
+ }
+
((AlarmManager) this.getSystemService(Context.ALARM_SERVICE)).setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + 60000, 60000, mKeepAlivePendingIntent);
}
@@ -141,11 +151,17 @@
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
+ /* if (sInstance != null) {
+ return START_STICKY;
+ }*/
+ return START_STICKY;
+ }
+
+
+ public void initCore() {
// If our Service is already running, no need to continue
- if (sInstance != null) {
- return START_STICKY;
- }
+
// Our Service has been started, we can keep our reference on it
// From now one the Launcher will be able to call onServiceReady()
@@ -169,7 +185,6 @@
mTimer = new Timer("Linphone scheduler");
mTimer.schedule(lTask, 0, 20);
- return START_STICKY;
}
@Override
@@ -213,7 +228,7 @@
String basePath = getFilesDir().getAbsolutePath();
Factory.instance().setLogCollectionPath(basePath);
Factory.instance().enableLogCollection(LogCollectionState.Enabled);
- Factory.instance().setDebugMode(false, getString(R.string.app_name));
+ Factory.instance().setDebugMode(true, "HDLLinphone");
// Dump some useful information about the device we're running on
// HDLLog.I(START_LINPHONE_LOGS);
// dumpDeviceInformation();
@@ -260,8 +275,9 @@
@Override
public void onRegistrationStateChanged(Core core, ProxyConfig proxyConfig, RegistrationState registrationState, String message) {
String state = registrationState.toString();
- HDLLog.i(START_LINPHONE_LOGS, "registrationState: " + state);
+ HDLLog.i(START_LINPHONE_LOGS, "registrationState: " + state + ",message:" + message);
+ HDLLog.i(START_LINPHONE_LOGS, "Registration info=" + new Gson().toJson(proxyConfig));
if (state.equals(RegistrationState.None.toString())) {
if (sRegistrationCallback != null) {
sRegistrationCallback.registrationNone();
@@ -379,8 +395,12 @@
//2.璁剧疆VP8銆丠264銆丠265 绛夊惎鐢�
PayloadType[] ptVideoList = mCore.getVideoPayloadTypes();
for (PayloadType pt : ptVideoList) {
-// HDLLog.i("VideoPayload", pt.getMimeType());
- pt.enable(true);
+ HDLLog.i("VideoPayload", pt.getMimeType());
+ if ("VP8".equals(pt.getMimeType())){
+ pt.enable(false);
+ }else {
+ pt.enable(true);
+ }
}
mCore.setVideoPayloadTypes(ptVideoList);
}
--
Gitblit v1.8.0