diff --git a/app/src/main/java/com/nnbc123/app/ui/webview/CommonWebViewActivity.java b/app/src/main/java/com/nnbc123/app/ui/webview/CommonWebViewActivity.java
index bf7c71c62..ba7331461 100644
--- a/app/src/main/java/com/nnbc123/app/ui/webview/CommonWebViewActivity.java
+++ b/app/src/main/java/com/nnbc123/app/ui/webview/CommonWebViewActivity.java
@@ -1,5 +1,6 @@
package com.nnbc123.app.ui.webview;
+import android.Manifest;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
@@ -13,6 +14,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.text.TextUtils;
import android.view.View;
+import android.webkit.PermissionRequest;
import android.webkit.SslErrorHandler;
import android.webkit.ValueCallback;
import android.webkit.WebBackForwardList;
@@ -31,6 +33,9 @@ import com.google.gson.Gson;
import com.netease.nim.uikit.StatusBarUtil;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nim.uikit.common.util.string.StringUtil;
+import com.nnbc123.app.common.permission.PermissionHelper;
+import com.nnbc123.app.ui.widget.dialog.RequestPermissionPromptDialog;
+import com.nnbc123.library.utils.ResUtil;
import com.orhanobut.logger.Logger;
import com.trello.rxlifecycle3.android.ActivityEvent;
import com.nnbc123.app.R;
@@ -221,6 +226,8 @@ public class CommonWebViewActivity extends BaseActivity implements ShareDialog.O
jsInterface.setPosition(mPosition);
webView.addJavascriptInterface(jsInterface, "androidJsObj");
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
+ // 允许自动播放
+ webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
webView.setWebViewClient(new WebViewClient() {
@@ -312,6 +319,35 @@ public class CommonWebViewActivity extends BaseActivity implements ShareDialog.O
//获取webviewtitle作为titlebar的title
wvcc = new WebChromeClient() {
+ @Override
+ public void onPermissionRequest(PermissionRequest request) {
+ String tips = null;
+ String[] permissions = null;
+ for (String item : request.getResources()) {
+ if (item != null && item.equals(PermissionRequest.RESOURCE_VIDEO_CAPTURE)) {
+ tips = ResUtil.getString(R.string.permission_denied_tips_camera);
+ permissions = new String[]{Manifest.permission.CAMERA,
+ Manifest.permission.RECORD_AUDIO};
+ }
+ }
+ if (permissions == null) {
+ request.grant(request.getResources());
+ return;
+ }
+ if (RequestPermissionPromptDialog.Companion.isNeedPrompt()
+ && !PermissionHelper.INSTANCE.isAllGranted(rxPermissions, permissions)) {
+ new RequestPermissionPromptDialog(context, tips).show();
+ }
+ checkPermission(isGranted -> {
+ RequestPermissionPromptDialog.Companion.dismissCurrentDialog();
+ if (isGranted) {
+ request.grant(request.getResources());
+ } else {
+ request.deny();
+ }
+ }, permissions);
+ }
+
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e5f602027..d0aa61fe8 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -991,7 +991,7 @@
%d钻/局
为了实现连麦及语音输入等功能,请您允许应用向您获取“麦克风”权限
访问你的本地内容,以能正常使用图片上传、视频发送等应用功能
- 用于拍摄更新个人头像、发布动态、与客服反馈问题时进行照片和视频的拍摄录制
+ 用于拍摄更新个人头像、发布动态、实名认证、与客服反馈问题时进行照片和视频的拍摄录制
去围观
前往围观