panlili2024
22 小时以前 8056b53176cddb9d154e3c3ffc4a11354b338fcf
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java
@@ -5,11 +5,9 @@
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
@@ -22,6 +20,10 @@
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.hdl.hdllinphonesdk.HDLLinphoneKit;
import com.hdl.hdllinphonesdk.R;
@@ -134,13 +136,18 @@
                tv_lp_title.setText(titleName);
            }
            interphoneType = extras.getString("interphoneType");
            HDLLog.i(TAG, "initData interphoneType= " + interphoneType);
        }
        //监听呼叫广播
        callFilter = new IntentFilter();
        callFilter.addAction("com.hdl.homepro.call.action");
        callBroadcastReceiver = new CallBroadcastReceiver();
        registerReceiver(callBroadcastReceiver, callFilter);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            registerReceiver(callBroadcastReceiver, callFilter, RECEIVER_EXPORTED);
        } else {
            registerReceiver(callBroadcastReceiver, callFilter);
        }
        if (callBroadcastReceiver != null) {
            String finalInterphoneType = interphoneType;
@@ -230,12 +237,17 @@
        int id = view.getId();
        if (id == R.id.iv_lp_screenshot) {
            //动态权限申请
            if (ContextCompat.checkSelfPermission(HDLLinphoneMonitorActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
                    && ActivityCompat.checkSelfPermission(HDLLinphoneMonitorActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(HDLLinphoneMonitorActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
            } else {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
                //截图
                onClickScreenshot();
            } else {
                if (ContextCompat.checkSelfPermission(HDLLinphoneMonitorActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
                        && ActivityCompat.checkSelfPermission(HDLLinphoneMonitorActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                    ActivityCompat.requestPermissions(HDLLinphoneMonitorActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
                } else {
                    //截图
                    onClickScreenshot();
                }
            }
        } else if (id == R.id.iv_lp_unlock) {
            //开锁
@@ -342,9 +354,11 @@
     * initLinphone
     */
    void initLinphone() {
        HDLLog.i(TAG, "initLinphone === ");
        mCoreListener = new CoreListenerStub() {
            @Override
            public void onCallStateChanged(Core core, Call call, Call.State state, String message) {
                HDLLog.i(TAG, "initLinphone onCallStateChanged state= " + state);
                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
@@ -388,6 +402,7 @@
        Core core = HDLLinphoneKit.getInstance().getCore();
        if (core != null) {
            core.removeListener(mCoreListener);
            Log.d("panlili", "HDLLinphoneMonitorActivity.java:onDestroyLinphone----->removeListener ");
            core.setNativeVideoWindowId(null);
            core.setNativePreviewWindowId(null);
        }