| | |
| | | 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.ComponentName; |
| | | import android.content.Context; |
| | | import android.content.Intent; |
| | | import android.content.ServiceConnection; |
| | | import android.content.pm.PackageInfo; |
| | | import android.content.pm.PackageManager; |
| | | import android.os.Binder; |
| | |
| | | import android.os.Handler; |
| | | import android.os.IBinder; |
| | | import android.os.SystemClock; |
| | | import android.support.v4.app.NotificationCompat; |
| | | import android.telecom.ConnectionService; |
| | | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | import java.io.InputStream; |
| | | 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 ===="; |
| | |
| | | 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); |
| | | } |
| | |
| | | //2.设置VP8、H264、H265 等启用 |
| | | PayloadType[] ptVideoList = mCore.getVideoPayloadTypes(); |
| | | for (PayloadType pt : ptVideoList) { |
| | | // HDLLog.i("VideoPayload", pt.getMimeType()); |
| | | HDLLog.i("VideoPayload", pt.getMimeType()); |
| | | if ("VP8".equals(pt.getMimeType())){ |
| | | pt.enable(false); |
| | | }else { |
| | | pt.enable(true); |
| | | } |
| | | } |
| | | mCore.setVideoPayloadTypes(ptVideoList); |
| | | } |
| | | |