|
@@ -21,6 +21,7 @@ import android.view.View;
|
|
|
import android.webkit.JavascriptInterface;
|
|
|
import android.widget.Button;
|
|
|
import android.widget.LinearLayout;
|
|
|
+import android.widget.RelativeLayout;
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
import com.clj.fastble.BleManager;
|
|
@@ -43,7 +44,6 @@ import com.naz.sdkdemo.helper.SerialPortManager;
|
|
|
import com.naz.sdkdemo.http.ApiHelper;
|
|
|
import com.naz.sdkdemo.utils.MyTools;
|
|
|
import com.naz.sdkdemo.weight.UserCache;
|
|
|
-import com.naz.sdkdemo.weight.XToast;
|
|
|
import com.tencent.smtt.export.external.interfaces.WebResourceError;
|
|
|
import com.tencent.smtt.export.external.interfaces.WebResourceRequest;
|
|
|
import com.tencent.smtt.sdk.WebSettings;
|
|
@@ -87,6 +87,7 @@ public class MainActivity extends BaseActivity {
|
|
|
private LinearLayout ll_web;
|
|
|
|
|
|
private Button printBtn;
|
|
|
+ private LinearLayout bottomToolBar;
|
|
|
private Button connectBtn;
|
|
|
private Button connectLight;
|
|
|
private Button turnOnLight;
|
|
@@ -96,12 +97,16 @@ public class MainActivity extends BaseActivity {
|
|
|
String savePath;
|
|
|
private ListenableFuture<ProcessCameraProvider> cameraProviderFuture;
|
|
|
private PreviewView previewView;
|
|
|
+ private RelativeLayout previewViewLayout;
|
|
|
private ProcessCameraProvider cameraProvider;
|
|
|
private ImageCapture imageCapture;
|
|
|
|
|
|
private String bleName;
|
|
|
private int code=0;//0默认值,1未搜索到设备,2连接失败,3连接成功,4断开了,5打开通知失败,6打开通知成功
|
|
|
|
|
|
+ // 相机现在是否正在打开, 用于处理用户在照相机预览页面点击返回按钮的情况
|
|
|
+ private boolean cameraIsOpening = false;
|
|
|
+
|
|
|
@Override
|
|
|
protected int getLayoutResId() {
|
|
|
return R.layout.activity_home_web;
|
|
@@ -109,10 +114,13 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
protected void initView() {
|
|
|
+
|
|
|
ll_nonet = findViewById(R.id.ll_nonet);
|
|
|
ll_web = findViewById(R.id.ll_web);
|
|
|
mWebView = findViewById(R.id.webview);
|
|
|
previewView = findViewById(R.id.previewView);
|
|
|
+ previewViewLayout = findViewById(R.id.rl_preview);
|
|
|
+
|
|
|
checkNet();
|
|
|
findViewById(R.id.bt_ref).setOnClickListener(new View.OnClickListener(){
|
|
|
|
|
@@ -196,6 +204,14 @@ public class MainActivity extends BaseActivity {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ // 照相机预览框底部工具栏
|
|
|
+ bottomToolBar = findViewById(R.id.ll_bottom_tool_bar);
|
|
|
+ bottomToolBar.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ toCloseCamera();
|
|
|
+ }
|
|
|
+ });
|
|
|
printBtn = findViewById(R.id.print);
|
|
|
printBtn.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
@@ -466,12 +482,18 @@ public class MainActivity extends BaseActivity {
|
|
|
}
|
|
|
|
|
|
private void toCloseCamera() {
|
|
|
+ // 如果相机预览还开着, 则关闭
|
|
|
+ cameraIsOpening = false;
|
|
|
+ if(previewViewLayout.getVisibility() == View.VISIBLE) {
|
|
|
+ previewViewLayout.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
if (cameraProvider!=null){
|
|
|
cameraProvider.unbindAll();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void toOpenCamera(boolean isShowPreview) {
|
|
|
+ cameraIsOpening = true;
|
|
|
// 请求 CameraProvider
|
|
|
cameraProviderFuture = ProcessCameraProvider.getInstance(this);
|
|
|
//检查 CameraProvider 可用性,验证它能否在视图创建后成功初始化
|
|
@@ -743,7 +765,7 @@ public class MainActivity extends BaseActivity {
|
|
|
// 打开摄像头的同时是否显示预览界面
|
|
|
if(isShowPreview) {
|
|
|
preview.setSurfaceProvider(previewView.getSurfaceProvider());
|
|
|
- previewView.setVisibility(View.VISIBLE);
|
|
|
+ previewViewLayout.setVisibility(View.VISIBLE);
|
|
|
}
|
|
|
cameraProvider.unbindAll();//解绑组件
|
|
|
cameraProvider.bindToLifecycle((LifecycleOwner) this, cameraSelector, preview, imageCapture);
|
|
@@ -934,6 +956,16 @@ public class MainActivity extends BaseActivity {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onBackPressed() {
|
|
|
+ if(cameraIsOpening) {
|
|
|
+ // 当前的摄像头正在打开状态
|
|
|
+ toCloseCamera();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ super.onBackPressed();
|
|
|
+ }
|
|
|
+
|
|
|
private boolean checkGPSIsOpen() {
|
|
|
// LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
|
|
|
// if (locationManager == null)
|