From 3c853e808d9e617662fd4ce207d609daa8681df3 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 13 三月 2021 16:42:04 +0800
Subject: [PATCH] 添加PPTV视频前贴中的免广告权益

---
 BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java |   83 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 78 insertions(+), 5 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java
index 7a50107..985d86f 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java
@@ -1,10 +1,12 @@
 package com.weikou.beibeivideo.ui.mine;
 
+import android.Manifest;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
+import android.content.ActivityNotFoundException;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.graphics.BitmapFactory;
@@ -15,6 +17,8 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.provider.MediaStore;
+import android.support.annotation.NonNull;
 import android.support.v4.app.NotificationCompat;
 import android.util.Log;
 import android.view.KeyEvent;
@@ -26,6 +30,8 @@
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.lcjian.library.permission.PermissionHelper;
+import com.lcjian.library.permission.PermissionInterface;
 import com.lcjian.library.util.ManifestDataUtil;
 import com.tencent.smtt.export.external.interfaces.ConsoleMessage;
 import com.tencent.smtt.export.external.interfaces.SslError;
@@ -46,11 +52,12 @@
 import com.weikou.beibeivideo.util.browser.PPJavaInterface;
 import com.weikou.beibeivideo.util.downutil.DownFiles;
 import com.weikou.beibeivideo.util.downutil.DownFiles.IProgress;
+import com.weikou.beibeivideo.util.downutil.StringUtils;
 import com.weikou.beibeivideo.util.x5.X5WebView;
 
 import java.util.Map;
 
-public class BrowserActivity extends BaseActivity implements OnClickListener {
+public class BrowserActivity extends BaseActivity implements OnClickListener, PermissionInterface {
     private final static String TAG = "BrowserActivity";
 
     private TextView tv_top_bar_left;
@@ -58,6 +65,7 @@
     private TextView tv_top_bar_middle;
     private X5WebView webview;
     ProgressBar progressBar;
+    private PermissionHelper mPermissionsChecker; // 鏉冮檺妫�娴嬪櫒 妫�娴嬫槸鍚︽湁鍌ㄥ瓨鍗″啓鍏ヨ鍙栨潈闄�
 
 
     private void initX5WebView() {
@@ -181,6 +189,7 @@
 //        String url="http://192.168.3.122:8848/buwan-web/BuWanWeb/vip/pay_success.html?id=23";
         webview.loadUrl(url);
         needSetResult = getIntent().getBooleanExtra("result", false);
+        mPermissionsChecker = new PermissionHelper(this, this);//鏉冮檺
     }
 
     // 鏂囦欢涓嬭浇鐩戝惉
@@ -200,7 +209,15 @@
     private NotificationCompat.Builder builder;
     int j = -1;
 
+    String tempUrl = null;
+
     private void startDownLoadFile(String url) {
+        tempUrl = url;
+        if (mPermissionsChecker.lacksPermissions(getPermissions())) {//妫�娴嬫槸鍚︽湁鍐欏叆鐨勬潈闄�
+            mPermissionsChecker.showNormalDialog();
+            return;
+        }
+        tempUrl = null;
 
         new DownFiles(this, new IProgress() {
 
@@ -215,16 +232,17 @@
                         Toast.makeText(BrowserActivity.this, "鏂囦欢宸茬粡寮�濮嬩笅杞�",
                                 Toast.LENGTH_SHORT).show();
                         manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
-                        String id = "UMENG_CHANNEL";
+                        String id = "YSDQ_DOWNLOAD";
                         String description = ManifestDataUtil.getAppMetaData(BrowserActivity.this, id);
                         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                             int importance = NotificationManager.IMPORTANCE_HIGH;
-                            NotificationChannel mChannel = new NotificationChannel(id, "123", importance);
+                            NotificationChannel mChannel = new NotificationChannel(id, "褰辫澶у叏涓嬭浇", importance);
                             mChannel.setDescription(description);
                             mChannel.enableLights(true);
                             mChannel.setLightColor(Color.RED);
-                            mChannel.enableVibration(true);
-                            mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
+                            //鍏抽棴闇囧姩
+                            mChannel.enableVibration(false);
+                            mChannel.setVibrationPattern(new long[]{0});
                             manager.createNotificationChannel(mChannel);
                             oBuilder = new Notification.Builder(BrowserActivity.this, id);
                             oBuilder.setContentTitle("褰辫澶у叏")
@@ -356,4 +374,59 @@
         }
         return super.onKeyDown(keyCode, event);
     }
+
+
+    /**
+     * 鏉冮檺璇锋眰鐮�
+     *
+     * @return
+     */
+    @Override
+    public int getPermissionsRequestCode() {
+        return 1001;
+    }
+
+    /**
+     * 璇锋眰鏉冮檺
+     *
+     * @return
+     */
+    @Override
+    public String[] getPermissions() {
+        return new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
+    }
+
+    /**
+     * 鏉冮檺璇锋眰鎴愬姛
+     */
+    @Override
+    public void requestPermissionsSuccess() {
+        if (!StringUtils.isNullOrEmpty(tempUrl)) {
+            startDownLoadFile(tempUrl);
+        }
+    }
+
+    /**
+     * 鏉冮檺璇锋眰澶辫触
+     */
+    @Override
+    public void requestPermissionsFail() {
+//        Toast.makeText(this, "浣犱互鎷掔粷鏉冮檺", Toast.LENGTH_SHORT).show();
+    }
+
+    /**
+     * 璇锋眰鏉冮檺缁撴灉
+     *
+     * @param requestCode
+     * @param permissions
+     * @param grantResults
+     */
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        if (mPermissionsChecker.requestPermissionsResult(requestCode, permissions, grantResults)) {
+            //鏉冮檺璇锋眰缁撴灉锛屽苟宸茬粡澶勭悊浜嗚鍥炶皟
+            return;
+        }
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+    }
 }

--
Gitblit v1.8.0