feat:适配网页实名认证的权限申请
This commit is contained in:
@@ -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);
|
||||
|
@@ -991,7 +991,7 @@
|
||||
<string name="diamond_inning">%d钻/局</string>
|
||||
<string name="permission_denied_tips_mic">为了实现连麦及语音输入等功能,请您允许应用向您获取“麦克风”权限</string>
|
||||
<string name="permission_denied_tips_image">访问你的本地内容,以能正常使用图片上传、视频发送等应用功能</string>
|
||||
<string name="permission_denied_tips_camera">用于拍摄更新个人头像、发布动态、与客服反馈问题时进行照片和视频的拍摄录制</string>
|
||||
<string name="permission_denied_tips_camera">用于拍摄更新个人头像、发布动态、实名认证、与客服反馈问题时进行照片和视频的拍摄录制</string>
|
||||
<string name="all_service_gift_room_go">去围观</string>
|
||||
|
||||
<string name="all_service_gift_room_go_title">前往围观</string>
|
||||
|
Reference in New Issue
Block a user