pangweixin 5 年之前
父節點
當前提交
7dd280f599

+ 5 - 5
app/src/main/java/com/qingdaofushan/home/activity/MainActivity.java

@@ -61,12 +61,12 @@ public class MainActivity extends AppCompatActivity {
         findViewById(R.id.start).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                initApp("https://pwxmax.cn/friday.zip", 1);
+//                initApp("https://cq-1253658654.file.myqcloud.com/friday.zip", 1);
 //                mServerManager.startServer();
-//                Intent intent = new Intent(MainActivity.this, WebViewActivity.class);
-//                intent.putExtra("url", editText.getText().toString());
+                Intent intent = new Intent(MainActivity.this, WebViewActivity.class);
+                intent.putExtra("url", editText.getText().toString());
 //                intent.putExtra("url", "http://127.0.0.1:8080");
-//                startActivity(intent);
+                startActivity(intent);
             }
         });
     }
@@ -84,7 +84,7 @@ public class MainActivity extends AppCompatActivity {
                             mServerManager = new ServerManager(MainActivity.this);
                             mServerManager.register();
 //                            getVM();
-                            initApp("https://pwxmax.cn/friday.zip", 1);
+                            initApp("https://cq-1253658654.cos.ap-shanghai.myqcloud.com/friday.zip", 1);
                         } else {
                             initPermission();
                             ToastUtil.showToast("获取部分权限成功,但部分权限未正常授予");

+ 60 - 42
app/src/main/java/com/qingdaofushan/home/weiview/WebViewActivity.java

@@ -160,6 +160,7 @@ public class WebViewActivity extends AppCompatActivity {
         public void onProgressChanged(WebView view, int newProgress) {
             //do you work
         }
+
         // For Android < 3.0
         public void openFileChooser(ValueCallback<Uri> valueCallback) {
             uploadMessage = valueCallback;
@@ -189,19 +190,13 @@ public class WebViewActivity extends AppCompatActivity {
 
     // 2.回调方法触发本地选择文件
     private void openImageChooserActivity() {
-        //调用系统相机
-        Intent intentCamera = new Intent();
-        if (Build.VERSION.SDK_INT >= 24) {
-            intentCamera.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); //添加这一句表示对目标应用临时授权该Uri所代表的文件
-        }
-        intentCamera.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
-            startActivityForResult(intentCamera, FILE_CHOOSER_RESULT_CODE);
+        checkPermissionAndCamera();
 
 //        Intent i = new Intent(Intent.ACTION_GET_CONTENT);
 //        i.addCategory(Intent.CATEGORY_OPENABLE);
 //        i.setType("image/*");//图片上传
-////        i.setType("file/*");//文件上传
-////        i.setType("*/*");//文件上传
+//        i.setType("file/*");//文件上传
+//        i.setType("*/*");//文件上传
 //        startActivityForResult(Intent.createChooser(i, "File Chooser"), FILE_CHOOSER_RESULT_CODE);
     }
 
@@ -223,40 +218,33 @@ public class WebViewActivity extends AppCompatActivity {
 
     }
 
-//    @Override
-//    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
-//        super.onActivityResult(requestCode, resultCode, data);
-//        /**
-//         * 处理二维码扫描结果
-//         */
-//        if (resultCode == RESULT_OK) {
-//            switch (requestCode) {
-//                case 200:
-//                    Bundle bundle = data.getExtras();
-//                    String scanResult = bundle.getString(Constant.INTENT_EXTRA_KEY_QR_SCAN);
-////                    String result = CameraScan.parseScanResult(data);
-//                    mAgentWeb.getJsAccessEntrace().quickCallJs("QRCode", scanResult);
-//                    break;
-//                case CAMERA_REQUEST_CODE:
-//                    String uploadpath = Uri2PathUtil.getRealPathFromUri(this, mCameraUri);
-//                    mAgentWeb.getJsAccessEntrace().quickCallJs("Camera", uploadpath);
-//                    break;
-//            }
-//        }
-//    }
-    // 3.选择图片后处理
     @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        if (requestCode == FILE_CHOOSER_RESULT_CODE) {
-            if (null == uploadMessage && null == uploadMessageAboveL) return;
-            Uri result = data == null || resultCode != RESULT_OK ? null : data.getData();
-            // Uri result = (((data == null) || (resultCode != RESULT_OK)) ? null : data.getData());
-            if (uploadMessageAboveL != null) {
-                onActivityResultAboveL(requestCode, resultCode, data);
-            } else if (uploadMessage != null) {
-                uploadMessage.onReceiveValue(result);
-                uploadMessage = null;
+        /**
+         * 处理二维码扫描结果
+         */
+        if (resultCode == RESULT_OK) {
+            switch (requestCode) {
+                case 200:
+                    Bundle bundle = data.getExtras();
+                    String scanResult = bundle.getString(Constant.INTENT_EXTRA_KEY_QR_SCAN);
+//                    String result = CameraScan.parseScanResult(data);
+                    mAgentWeb.getJsAccessEntrace().quickCallJs("QRCode", scanResult);
+                    break;
+                case CAMERA_REQUEST_CODE:
+                    if (uploadMessageAboveL != null) {
+                        Uri[] results = new Uri[]{mCameraUri};
+                        uploadMessageAboveL.onReceiveValue(results);
+                        uploadMessageAboveL = null;
+//                        onActivityResultAboveL(requestCode, resultCode, data);
+                    } else if (uploadMessage != null) {
+                        uploadMessage.onReceiveValue(mCameraUri);
+                        uploadMessage = null;
+                    }
+//                    String uploadpath = Uri2PathUtil.getRealPathFromUri(this, mCameraUri);
+//                    mAgentWeb.getJsAccessEntrace().quickCallJs("Camera", uploadpath);
+                    break;
             }
         } else {
             //这里uploadMessage跟uploadMessageAboveL在不同系统版本下分别持有了
@@ -271,6 +259,34 @@ public class WebViewActivity extends AppCompatActivity {
             }
         }
     }
+//
+//    //    // 3.选择图片后处理
+//    @Override
+//    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+//        super.onActivityResult(requestCode, resultCode, data);
+//        if (requestCode == FILE_CHOOSER_RESULT_CODE) {
+//            if (null == uploadMessage && null == uploadMessageAboveL) return;
+//            Uri result = data == null || resultCode != RESULT_OK ? null : data.getData();
+//            // Uri result = (((data == null) || (resultCode != RESULT_OK)) ? null : data.getData());
+//            if (uploadMessageAboveL != null) {
+//                onActivityResultAboveL(requestCode, resultCode, data);
+//            } else if (uploadMessage != null) {
+//                uploadMessage.onReceiveValue(result);
+//                uploadMessage = null;
+//            }
+//        } else {
+//            //这里uploadMessage跟uploadMessageAboveL在不同系统版本下分别持有了
+//            //WebView对象,在用户取消文件选择器的情况下,需给onReceiveValue传null返回值
+//            //否则WebView在未收到返回值的情况下,无法进行任何操作,文件选择器会失效
+//            if (uploadMessage != null) {
+//                uploadMessage.onReceiveValue(null);
+//                uploadMessage = null;
+//            } else if (uploadMessageAboveL != null) {
+//                uploadMessageAboveL.onReceiveValue(null);
+//                uploadMessageAboveL = null;
+//            }
+//        }
+//    }
 
     // 4. 选择内容回调到Html页面
     @TargetApi(Build.VERSION_CODES.LOLLIPOP)
@@ -303,7 +319,7 @@ public class WebViewActivity extends AppCompatActivity {
             mAgentWeb.getJsAccessEntrace().quickCallJs("StartService", "1");
         } else if (eventData.getCode() == 2) {
             mAgentWeb.getJsAccessEntrace().quickCallJs("StartService", "2");
-        }else if(eventData.getCode() == 3){
+        } else if (eventData.getCode() == 3) {
             checkPermissionAndCamera();
         }
     }
@@ -442,6 +458,7 @@ public class WebViewActivity extends AppCompatActivity {
         }
         return tempFile;
     }
+
     /**
      * 文件转base64字符串
      *
@@ -474,6 +491,7 @@ public class WebViewActivity extends AppCompatActivity {
         }
         return base64;
     }
+
     @Override
     protected void onResume() {
         mAgentWeb.getWebLifeCycle().onResume();