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