From 5dc625a64cf58d798929f22c3073cd06b837f87a Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 25 十一月 2021 16:44:57 +0800
Subject: [PATCH] 2021-11-25 1.更新
---
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml | 1
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml | 1
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneReverseCallActivity.java | 459 +++++++++++++++++++++++++++++++++++++++++++++
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/build.gradle | 1
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/AndroidManifest.xml | 10
HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java | 53 +++--
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java | 1
HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar | 0
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java | 18 +
9 files changed, 510 insertions(+), 34 deletions(-)
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/build.gradle b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/build.gradle
index 740881d..7ea3cc5 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/build.gradle
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/build.gradle
@@ -49,6 +49,7 @@
url "https://linphone.org/maven_repository"
}
}
+
dependencies {
// implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/AndroidManifest.xml b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/AndroidManifest.xml
index 9d2a941..16b10b4 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/AndroidManifest.xml
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/AndroidManifest.xml
@@ -4,16 +4,13 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CAMERA" /> <!-- 璇煶閫氳瘽鏉冮檺 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 鍏嶆彁鏉冮檺 -->
- <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
- <!--淇濆瓨鎴浘鍒扮浉鍐�-->
+ <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <!-- 淇濆瓨鎴浘鍒扮浉鍐� -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-
- <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature
@@ -24,7 +21,8 @@
android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true">
- <activity android:name=".activity.HDLLinphoneMonitorActivity"></activity>
+ <activity android:name=".activity.HDLLinphoneReverseCallActivity"></activity>
+ <activity android:name=".activity.HDLLinphoneMonitorActivity" />
<activity android:name=".activity.HDLLinphoneIntercomActivity" />
<service android:name=".core.service.HDLLinphoneService" />
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
index 7473487..8f82f11 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
@@ -32,6 +32,7 @@
*/
public class HDLLinphoneKit {
public static final String KEY_TITLE_NAME = "lpTitleName";
+ public static final String KEY_SIP_ACCOUNT = "lpSipAccount";
public static final String HDLLinphoneKitNAME = "HDLLinphoneKit";
private volatile static HDLLinphoneKit instance;
private Context viewContext;
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneReverseCallActivity.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneReverseCallActivity.java
new file mode 100644
index 0000000..d0b31f5
--- /dev/null
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneReverseCallActivity.java
@@ -0,0 +1,459 @@
+package com.hdl.hdllinphonesdk.activity;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.media.AudioAttributes;
+import android.os.Build;
+import android.os.CountDownTimer;
+import android.os.SystemClock;
+import android.os.Vibrator;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.DisplayMetrics;
+import android.view.TextureView;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.widget.Chronometer;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.hdl.hdllinphonesdk.HDLLinphoneKit;
+import com.hdl.hdllinphonesdk.R;
+import com.hdl.hdllinphonesdk.callback.OnLPOpenDoorCallBack;
+import com.hdl.hdllinphonesdk.utils.HDLImageUtils;
+import com.hdl.hdllinphonesdk.utils.HDLLog;
+
+import org.linphone.core.Call;
+import org.linphone.core.Core;
+import org.linphone.core.CoreListenerStub;
+
+/**
+ * 鍙嶅懠椤甸潰
+ */
+public class HDLLinphoneReverseCallActivity extends LPCheckPermissionsActivity implements View.OnClickListener {
+ private static final String TAG = "HDLLinphoneReverseCallActivity";
+
+ //鎺т欢
+ private TextView tv_lp_title;
+ private ImageView iv_lp_screenshot;
+ private ImageView iv_lp_unlock;
+
+ private ImageView iv_lp_hangUp;
+ private TextView tv_lp_hangUp;
+
+ private ImageView iv_lp_answer;
+ private TextView tv_lp_answer;
+ private RelativeLayout rl_lp_answerView;
+
+ private LinearLayout ll_video_lp_rendering;
+ private TextureView video_lp_rendering;
+ private TextureView video_lp_rendering2;
+ // private TextView tv_lp_calltime;
+ private Chronometer timer_lp_calltime;
+ private TextView tv_lp_calltime;
+
+ //鍙傛暟
+ private boolean isAnswer;//鏄惁宸茬粡鎺ュ惉浜�
+ private int callTime;//閫氳瘽鏃堕棿
+ //鍊掕鏃�
+ private CountDownTimer mCountDownTimer;
+ /**
+ * 鎵嬫満鎸姩鍣�
+ */
+ private Vibrator mVibrator;
+
+ //Linphone
+ private CoreListenerStub mCoreListener;
+
+ private String deviceSipAccount;//璁惧SIP璐﹀彿
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ requestWindowFeature(Window.FEATURE_NO_TITLE);
+// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
+// WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ setContentView(R.layout.activity_hdllinphone_intercom);
+ initView();
+ initData();
+ initOnClick();
+ initCallBack();
+ initCountDownTimer();
+ initLinphone();
+ initVibrator();
+
+ }
+
+ /**
+ * onDestroy
+ */
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ //1.鎸傛柇
+ HDLLinphoneKit.getInstance().hangUp();
+ //2.鏆傚仠璁℃椂
+ if (null != timer_lp_calltime) {
+ timer_lp_calltime.stop();
+ }
+ //3.娉ㄩ攢callBack
+ HDLLinphoneKit.getInstance().setOpenOpenDoorCallBack(null);
+ //4.鍙栨秷闇囧姩鍣�
+ cancelVibrator();
+ //5.
+ if (mCountDownTimer != null) {
+ mCountDownTimer.cancel();
+ mCountDownTimer = null;
+ }
+ //5.
+ onDestroyLinphone();
+
+ HDLLog.i(TAG, "onDestroy");
+
+ }
+
+
+ /**
+ * initView
+ */
+ private void initView() {
+ tv_lp_title = findViewById(R.id.tv_lp_title);
+ iv_lp_screenshot = findViewById(R.id.iv_lp_screenshot);
+ iv_lp_unlock = findViewById(R.id.iv_lp_unlock);
+ iv_lp_hangUp = findViewById(R.id.iv_lp_hangUp);
+ tv_lp_hangUp = findViewById(R.id.tv_lp_hangUp);
+ iv_lp_answer = findViewById(R.id.iv_lp_answer);
+ tv_lp_answer = findViewById(R.id.tv_lp_answer);
+ rl_lp_answerView = findViewById(R.id.rl_lp_answerView);
+ ll_video_lp_rendering = findViewById(R.id.ll_video_lp_rendering);
+ video_lp_rendering = findViewById(R.id.video_lp_rendering);
+ video_lp_rendering2 = findViewById(R.id.video_lp_rendering2);
+// tv_lp_calltime = findViewById(R.id.tv_lp_calltime);
+ timer_lp_calltime = (Chronometer) findViewById(R.id.timer_lp_calltime);
+ tv_lp_calltime = findViewById(R.id.tv_lp_calltime);
+ setWidthHeightWithRatio(ll_video_lp_rendering, 16, 9);
+
+
+ }
+
+ /**
+ * initData
+ */
+ private void initData() {
+ Bundle extras = getIntent().getExtras();
+ if (extras != null) {
+ String titleName = extras.getString(HDLLinphoneKit.KEY_TITLE_NAME);
+ if (!TextUtils.isEmpty(titleName)) {
+ tv_lp_title.setText(titleName);
+ }
+
+ deviceSipAccount = extras.getString(HDLLinphoneKit.KEY_SIP_ACCOUNT);
+ }
+ }
+
+ /**
+ * 鎸囧畾灞忓箷瀹藉害 鏍规嵁瀹介珮姣旇缃帶浠跺楂�
+ */
+ public void setWidthHeightWithRatio(View view, int widthRatio, int heightRatio) {
+ DisplayMetrics outMetrics = new DisplayMetrics();
+ getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
+ int width = outMetrics.widthPixels;
+
+ if (width <= 0) width = view.getWidth();
+ int height = width * heightRatio / widthRatio;
+ ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
+ if (layoutParams != null) {
+ layoutParams.height = height;
+ layoutParams.width = width;
+ view.setLayoutParams(layoutParams);
+ }
+ }
+
+ /**
+ * init OnClickListener
+ */
+ private void initOnClick() {
+ iv_lp_screenshot.setOnClickListener(this);
+ iv_lp_unlock.setOnClickListener(this);
+ iv_lp_hangUp.setOnClickListener(this);
+ tv_lp_hangUp.setOnClickListener(this);
+ iv_lp_answer.setOnClickListener(this);
+ tv_lp_answer.setOnClickListener(this);
+ }
+
+ /**
+ * 鍒濆鍖栧紑闂ㄥ洖璋冧簨浠�
+ */
+ void initCallBack() {
+ HDLLinphoneKit.getInstance().setOpenOpenDoorCallBack(new OnLPOpenDoorCallBack() {
+ @Override
+ public void onOpenSuccess() {
+ setOpenDoorSuccess();
+ }
+
+ @Override
+ public void onOpenError(String errorMes) {
+ showToast(getString(R.string.lp_unlockfailureStr) + errorMes);
+ }
+ });
+ }
+
+ /**
+ * 鍒濆鍖栧紑閿佸睆钄藉�掕鏃�
+ */
+ void initCountDownTimer() {
+
+ mCountDownTimer = new CountDownTimer(10 * 1000, 1000) {
+ @Override
+ public void onTick(long millisUntilFinished) {
+ if (!HDLLinphoneReverseCallActivity.this.isFinishing()) {
+
+ }
+ }
+
+ /**
+ *鍊掕鏃剁粨鏉熷悗璋冪敤鐨�
+ */
+ @Override
+ public void onFinish() {
+// showToast("寮�閿乷nFinish");
+ iv_lp_unlock.setEnabled(true);
+ }
+
+ };
+//
+ }
+
+ @Override
+ public void onClick(View view) {
+ int id = view.getId();
+ if (id == R.id.iv_lp_screenshot) {
+ //鎴浘
+ onClickScreenshot();
+ } else if (id == R.id.iv_lp_unlock) {
+ //寮�閿�
+ onClickUnlock();
+ } else if (id == R.id.iv_lp_hangUp || id == R.id.tv_lp_hangUp) {
+ //鎸傛柇
+ onClickHangUp();
+ } else if (id == R.id.iv_lp_answer || id == R.id.tv_lp_answer) {
+ //鎺ュ惉
+ onClickAnswer();
+ }
+ }
+
+ /**
+ * 鎴浘鐐瑰嚮浜嬩欢
+ */
+ private void onClickScreenshot() {
+// Bitmap img = HDLImageUtils.createViewBitmap(video_lp_rendering);
+ Bitmap img = video_lp_rendering.getBitmap();
+ boolean isSuccess = HDLImageUtils.saveImageToGallery(this, img);
+
+ if (isSuccess) {
+ showToast(getString(R.string.lp_saveToTheAlbumsStr));
+ } else {
+ showToast(getString(R.string.lp_operationFailedStr));
+ }
+ }
+
+
+ /**
+ * 寮�閿佺偣鍑讳簨浠�
+ */
+ private void onClickUnlock() {
+ if (HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener() != null) {
+ HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener().onUnlockAction();
+ }
+ }
+
+ /**
+ * 鎸傛柇鐐瑰嚮浜嬩欢
+ */
+ private void onClickHangUp() {
+ //2.鍥炶皟浜嬩欢
+ if (HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener() != null) {
+ if (isAnswer) {
+ //濡傛灉涔嬪墠宸茬粡鎺ュ惉浜嗭紝鍥炶皟鏄寕鏂�
+ callTime = getTimerCallTime();
+ HDLLog.i("callTime", "callTime" + callTime);
+ HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener().onHangUpAction(callTime);
+ } else {
+ //濡傛灉涔嬪墠娌℃帴鍚簡锛屽洖璋冩槸鎷掓帴
+ HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener().onRejectCallAction();
+ }
+ }
+ //2.椤甸潰鍏抽棴
+ finish();
+ }
+
+ /**
+ * 鎺ュ惉鎸夐挳鐐瑰嚮浜嬩欢
+ */
+ private void onClickAnswer() {
+ //1.鎺ュ惉 鍙嶅懠
+ if (TextUtils.isEmpty(deviceSipAccount)) {
+ getString(R.string.lp_sipAccount_null);
+ return;
+ }
+ HDLLinphoneKit.getInstance().callTo(deviceSipAccount, true);
+
+ //2.鍙栨秷闇囧姩
+ cancelVibrator();
+ //3.淇敼UI
+ isAnswer = true;
+ tv_lp_hangUp.setText(getString(R.string.lp_hangupStr));
+ setViewGone(rl_lp_answerView);
+ setViewGone(tv_lp_calltime);
+ setViewVisible(timer_lp_calltime);
+ startCallTimeCountdown();
+ //鎺ュ惉閫氱煡
+ if (HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener() != null) {
+ HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener().onAnswerAction();
+ }
+ }
+
+ /****************寮�閿佹垚鍔�********/
+
+ /**
+ * 寮�閿佹垚鍔熷悗锛�10s鍐呬笉鑳介噸澶嶅紑閿�
+ * 寮�閿佹寜閽鐢紝鍊掕鏃剁粨鏉熷悗閲嶆柊鍏佽鐐瑰嚮
+ */
+ void setOpenDoorSuccess() {
+ showToast(getString(R.string.lp_unlockSuccessfullyStr));
+ iv_lp_unlock.setEnabled(false);
+ startOpenDoorCountdown();
+ }
+
+ /**
+ * 寮�鍚�掕鏃�
+ */
+ void startOpenDoorCountdown() {
+ mCountDownTimer.start();
+ }
+
+ /**
+ * 閫氳瘽璁板綍寮�鍚�掕鏃�
+ */
+ void startCallTimeCountdown() {
+ timer_lp_calltime.setBase(SystemClock.elapsedRealtime());//璁℃椂鍣ㄦ竻闆�
+ timer_lp_calltime.start();
+ }
+
+ int getTimerCallTime() {
+ int temp0 = Integer.parseInt(timer_lp_calltime.getText().toString().split(":")[0]);
+ int temp1 = Integer.parseInt(timer_lp_calltime.getText().toString().split(":")[1]);
+ return temp0 * 60 + temp1;
+ }
+
+
+ /****************灏佽甯哥敤鏂规硶********/
+ /**
+ * showToast
+ */
+ private void showToast(String text) {
+ Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
+ }
+
+ /**
+ * setViewVisible
+ */
+ private static void setViewVisible(View view) {
+ if (view.getVisibility() != View.VISIBLE) {
+ view.setVisibility(View.VISIBLE);
+ }
+ }
+
+ /**
+ * setViewGone
+ */
+ private static void setViewGone(View view) {
+ if (view.getVisibility() != View.GONE) {
+ view.setVisibility(View.GONE);
+ }
+ }
+
+ /**********LinPhone**********/
+ /**
+ * initLinphone
+ */
+ void initLinphone() {
+ mCoreListener = new CoreListenerStub() {
+ @Override
+ public void onCallStateChanged(Core core, Call call, Call.State state, String message) {
+ if (state == Call.State.End || state == Call.State.Released) {
+ // Once call is finished (end state), terminate the activity
+ // We also check for released state (called a few seconds later) just in case
+ // we missed the first one
+ showToast(getString(R.string.lp_endOfCallStr));
+ finish();
+ }
+ }
+ };
+
+ Core core = HDLLinphoneKit.getInstance().getCore();
+ // We need to tell the core in which to display what
+ if (core != null) {
+ core.setNativeVideoWindowId(video_lp_rendering);
+ core.setNativePreviewWindowId(video_lp_rendering2);
+ // Listen for call state changes
+ core.addListener(mCoreListener);
+ core.enableMic(true);//寮�鍚害鍏嬮
+ }
+
+ }
+
+ /**
+ * onDestroyLinphone
+ */
+ void onDestroyLinphone() {
+ Core core = HDLLinphoneKit.getInstance().getCore();
+ if (core != null) {
+ core.removeListener(mCoreListener);
+ core.setNativeVideoWindowId(null);
+ core.setNativePreviewWindowId(null);
+ }
+ video_lp_rendering = null;
+ video_lp_rendering2 = null;
+ }
+
+
+ /**
+ * 鍒濆鍖栭渿鍔ㄥ櫒
+ */
+ void initVibrator() {
+ mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
+ if (mVibrator.hasVibrator()) {
+ long[] patern = {0, 1000, 1000};
+ AudioAttributes audioAttributes = null;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ audioAttributes = new AudioAttributes.Builder()
+ .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
+ .setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE) //key
+ .build();
+ mVibrator.vibrate(patern, 1, audioAttributes);
+ } else {
+ mVibrator.vibrate(patern, 1);
+ }
+ } else {
+ HDLLog.E("褰撳墠鎵嬫満娌℃湁闇囧姩鍣�");
+ }
+ }
+
+ /**
+ * 鍏抽棴闇囧姩鍣�
+ */
+ void cancelVibrator(){
+ if(mVibrator != null){
+ mVibrator.cancel();
+ mVibrator = null;
+ }
+
+ }
+}
\ No newline at end of file
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 9a7bbbf..e84e103 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
@@ -175,12 +175,18 @@
public void onDestroy() {
removeAllCallback();
logout();
- mCore.removeListener(mCoreListener);
- mTimer.cancel();
- mCore.stop();
- // A stopped Core can be started again
- // To ensure resources are freed, we must ensure it will be garbage collected
- mCore = null;
+
+ if(mTimer != null) {
+ mTimer.cancel();
+ }
+
+ if(mCore != null){
+ mCore.removeListener(mCoreListener);
+ mCore.stop();
+ // A stopped Core can be started again
+ // To ensure resources are freed, we must ensure it will be garbage collected
+ mCore = null;
+ }
// Don't forget to free the singleton as well
sInstance = null;
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml
index d0ee279..97858f6 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml
@@ -16,4 +16,5 @@
<string name="lp_screenshotStr">鎴浘</string>
<string name="lp_unlockStr">寮�閿�</string>
<string name="lp_outdoorUnitStr">瀹ゅ鏈�</string>
+ <string name="lp_sipAccount_null">鎺ュ惉澶辫触锛岃澶囦笉瀛樺湪</string>
</resources>
\ No newline at end of file
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml
index 8269c55..a39640a 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml
@@ -15,4 +15,5 @@
<string name="lp_screenshotStr">Screenshot</string>
<string name="lp_unlockStr">Unlock</string>
<string name="lp_outdoorUnitStr">Outdoor unit</string>
+ <string name="lp_sipAccount_null">Failed to answer the call. The device does not exist.</string>
</resources>
diff --git a/HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar b/HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar
index 022291c..f02e75e 100644
--- a/HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar
+++ b/HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar
Binary files differ
diff --git a/HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java b/HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java
index 666b384..5388edf 100644
--- a/HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java
+++ b/HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java
@@ -11,6 +11,7 @@
import com.hdl.hdllinphonesdk.HDLLinphoneKit;
import com.hdl.hdllinphonesdk.activity.HDLLinphoneIntercomActivity;
import com.hdl.hdllinphonesdk.activity.HDLLinphoneMonitorActivity;
+import com.hdl.hdllinphonesdk.activity.HDLLinphoneReverseCallActivity;
import com.hdl.hdllinphonesdk.callback.OnHDLLinphoneCallListener;
import com.hdl.hdllinphonesdk.core.service.HDLLinphoneService;
import com.hdl.hdllinphonesdk.utils.HDLLog;
@@ -48,7 +49,7 @@
// HDLLinphoneKit.getInstance().setAccountAndLogin("5555", "85521566", "test-gz.hdlcontrol.com:5060");
// HDLLinphoneKit.getInstance().setAccountAndLogin("6666", "85521566", "test-gz.hdlcontrol.com:5060");
- HDLLinphoneKit.getInstance().setAccountAndLogin("7777", "85521566", "test-gz.hdlcontrol.com:35060");
+ HDLLinphoneKit.getInstance().setAccountAndLogin("8888", "85521566", "47.96.88.250:35060");
@@ -66,7 +67,7 @@
@Override
public void onClick(View v) {
clearProxyConfig();
- HDLLinphoneKit.getInstance().setAccountAndLogin("5555", "85521566", "test-gz.hdlcontrol.com:35060");
+ HDLLinphoneKit.getInstance().setAccountAndLogin("8888", "85521566", "47.96.88.250:35060");
}
});
@@ -79,8 +80,7 @@
// HDLLinphoneKit.getInstance().callTo("61723164995779",true);
// HDLcallTo("61723164995779",true);
// HDLLinphoneKit.getInstance().callTo("1427186301744910338",true);
- HDLLinphoneKit.getInstance().callTo("5555",true);
-
+ HDLLinphoneKit.getInstance().callTo("1456490719927488513",true);
startActivity(HDLLinphoneMonitorActivity.class);
@@ -91,7 +91,7 @@
@Override
public void onClick(View v) {
- HDLLinphoneKit.getInstance().getCore().setNetworkReachable(true);
+// HDLLinphoneKit.getInstance().getCore().setNetworkReachable(true);
// isOpen = !isOpen;
// showToast("褰撳墠璁剧疆鐘舵�侊細"+isOpen);
// HDLLinphoneKit.getInstance().getCore().enableVideoCapture(isOpen);//绂佺敤鎵嬫満鎽勫儚澶磋棰戦噰闆�
@@ -111,9 +111,18 @@
}
});
+ //1.鍒濆鍖朣DK锛屽苟娉ㄥ唽HDLLinphoneService
HDLLinphoneKit.getInstance().initLinphone(this);
+ //2.璁剧疆鏄惁鑷姩璺宠浆鍛煎彨,濡傛灉瀵规帴鏋佸厜鎺ㄩ�佸啀寮瑰嚭椤甸潰锛岃繖閲岃璁剧疆false
HDLLinphoneKit.getInstance().setAutoJumpCallView(true);
+ //3.鐩戝惉鍛煎彨鍜岀洃鎺ч〉闈紝鐢ㄦ埛鎿嶄綔鐨勭浉鍏充簨浠躲�佹帴鍚�佹嫆鎺ャ�佸紑閿佺瓑....
setOnHDLLinphoneCallListener();
+ }
+
+ void all(){
+ Intent intent = new Intent(this, HDLLinphoneReverseCallActivity.class);
+ intent.
+ startActivity(intent);
}
boolean isOpen;
@@ -154,22 +163,22 @@
}
- public void logoutLog() {
- try {
- Core core = HDLLinphoneService.getCore();
- ProxyConfig[] configs = core.getProxyConfigList();
- if(configs != null) {
- HDLLog.E("registrationState璐︽埛length" + configs.length);
- }
-
- for (ProxyConfig config : configs) {
- HDLLog.E("registrationState璐︽埛"+config.getIdentityAddress().getUsername());
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
+// public void logoutLog() {
+// try {
+// Core core = HDLLinphoneService.getCore();
+// ProxyConfig[] configs = core.getProxyConfigList();
+// if(configs != null) {
+// HDLLog.E("registrationState璐︽埛length" + configs.length);
+// }
+//
+// for (ProxyConfig config : configs) {
+// HDLLog.E("registrationState璐︽埛"+config.getIdentityAddress().getUsername());
+// }
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
boolean openSuccess;
void setOnHDLLinphoneCallListener(){
@@ -189,7 +198,7 @@
@Override
public void onUnlockAction() {
//
- HDLLinphoneKit.getInstance().getCore().clearAllAuthInfo();
+// HDLLinphoneKit.getInstance().getCore().clearAllAuthInfo();
// showToast("寮�閿�");
// EasyLinphone.callTo("61723164995779",true);
--
Gitblit v1.8.0