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