Bladeren bron

Merge remote-tracking branch 'origin/sheep_develop' into sheep_develop

zengjiebin 7 jaren geleden
bovenliggende
commit
f1791399a9

+ 42 - 13
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -63,6 +63,8 @@ import com.umeng.socialize.UMShareAPI;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 import com.umeng.socialize.media.UMImage;
 import com.umeng.socialize.media.UMWeb;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.FileCallBack;
 
 import org.afinal.simplecache.ApiKey;
 import org.greenrobot.eventbus.EventBus;
@@ -79,6 +81,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
+import okhttp3.Call;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.functions.Action1;
 import rx.schedulers.Schedulers;
@@ -764,15 +767,15 @@ public class CommonUtil {
             case DialogShare.COPY_SHARE_LINK:
                 LINK_SHARE.onEvent();
                 ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("分享链接").setMsg(realUrl)
-                    .setMsgMore("通过连接加入小绵羊即可成为你的好友").setMsgMoreColor(R.color.txt_black_9e9c9c)
-                    .setBtnLeftText("复制链接").setBtnLeftOnClickListener(new View.OnClickListener() {
-                                @Override
-                                public void onClick(View view) {
-                                    QR_COPY.onEvent();
-                                    StringUtils.CopyText(realUrl);
-                                    G.showToast("复制链接成功");
-                                }
-                            }));
+                        .setMsgMore("通过连接加入小绵羊即可成为你的好友").setMsgMoreColor(R.color.txt_black_9e9c9c)
+                        .setBtnLeftText("复制链接").setBtnLeftOnClickListener(new View.OnClickListener() {
+                            @Override
+                            public void onClick(View view) {
+                                QR_COPY.onEvent();
+                                StringUtils.CopyText(realUrl);
+                                G.showToast("复制链接成功");
+                            }
+                        }));
                 return;
             case DialogShare.QQ:
                 share_media = SHARE_MEDIA.QQ;
@@ -811,25 +814,25 @@ public class CommonUtil {
 
         @Override
         public void onStart(SHARE_MEDIA share_media) {
-           LogUtil.println("UMShareListener", "start", share_media.getName());
+            LogUtil.println("UMShareListener", "start", share_media.getName());
         }
 
         @Override
         public void onResult(SHARE_MEDIA share_media) {
-           LogUtil.println("UMShareListener", "result", share_media.getName());
+            LogUtil.println("UMShareListener", "result", share_media.getName());
         }
 
         @Override
         public void onError(SHARE_MEDIA share_media, Throwable throwable) {
             String msg = throwable.getMessage();
             G.showToast(msg != null && msg.contains("没有安装应用") ? "没有安装应用": msg);
-           LogUtil.println("UMShareListener", "error", share_media.getName() +
+            LogUtil.println("UMShareListener", "error", share_media.getName() +
                     ",msg:" + throwable.getMessage());
         }
 
         @Override
         public void onCancel(SHARE_MEDIA share_media) {
-           LogUtil.println("UMShareListener", "cancel", share_media.getName());
+            LogUtil.println("UMShareListener", "cancel", share_media.getName());
         }
     }
 
@@ -1721,4 +1724,30 @@ public class CommonUtil {
                 return url + "&type=4";
         }
     }
+
+    /**
+     * js 下载
+     */
+    public void showDownLoad(final Activity activity, String url, final String name){
+        OkHttpUtils.get()
+                .url(url)
+                .build()
+                .execute(new FileCallBack(ClassFileHelper.DIR, name) {
+                    @Override
+                    public void onError(Call call, Exception e, int id) {
+                        G.showToast("下载文件失败");
+                    }
+
+                    @Override
+                    public void onResponse(File response, int id) {
+                        if (name.endsWith(".png") || name.endsWith(".jpg")) {//图片
+                            Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
+                            Uri uri = Uri.fromFile(response);
+                            intent.setData(uri);
+                            activity.sendBroadcast(intent); // 发送广播通知相册
+                        }
+                        G.showToast("下载文件成功");
+                    }
+                });
+    }
 }

+ 3 - 20
app/src/main/java/com/sheep/gamegroup/util/WebviewJs.java

@@ -16,6 +16,7 @@ import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.kfzs.duanduan.event.BigEvent;
 import com.kfzs.duanduan.event.EventTypes;
 import com.kfzs.duanduan.services.DownloadTaskService;
+import com.sheep.gamegroup.view.activity.ActWeb;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -62,26 +63,8 @@ public class WebviewJs {
 
     @JavascriptInterface
     public void downloadFile(final String url, final String name) {
-        OkHttpUtils.get()
-                .url(url)
-                .build()
-                .execute(new FileCallBack(ClassFileHelper.DIR, name) {
-                    @Override
-                    public void onError(Call call, Exception e, int id) {
-                        G.showToast("下载文件失败");
-                    }
-
-                    @Override
-                    public void onResponse(File response, int id) {
-                        if (name.endsWith(".png") || name.endsWith(".jpg")) {//图片
-                            Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
-                            Uri uri = Uri.fromFile(response);
-                            intent.setData(uri);
-                            activity.sendBroadcast(intent); // 发送广播通知相册
-                        }
-                        G.showToast("下载文件成功");
-                    }
-                });
+        //去下载
+        CommonUtil.getInstance().showDownLoad(activity, url, url);
     }
 
     @JavascriptInterface

+ 10 - 20
app/src/main/java/com/sheep/gamegroup/view/activity/ActWeb.java

@@ -11,6 +11,7 @@ import android.provider.MediaStore;
 import android.support.annotation.RequiresApi;
 import android.text.TextUtils;
 import android.view.View;
+import android.webkit.DownloadListener;
 import android.webkit.JavascriptInterface;
 import android.webkit.ValueCallback;
 import android.webkit.WebChromeClient;
@@ -92,6 +93,14 @@ public class ActWeb extends BaseCompatActivity {
         }
 
         loadUrl();
+
+        mWebView.setDownloadListener(new DownloadListener() {
+            @Override
+            public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
+                //去下载
+                CommonUtil.getInstance().showDownLoad(ActWeb.this, url, url);
+            }
+        });
     }
 
     public static void initWebViewSettings(WebView webView) {
@@ -305,26 +314,7 @@ public class ActWeb extends BaseCompatActivity {
 
         @JavascriptInterface
         public void downloadFile(final String url, final String name) {
-            OkHttpUtils.get()
-                    .url(url)
-                    .build()
-                    .execute(new FileCallBack(ClassFileHelper.DIR, name) {
-                        @Override
-                        public void onError(Call call, Exception e, int id) {
-                            G.showToast("下载文件失败");
-                        }
-
-                        @Override
-                        public void onResponse(File response, int id) {
-                            if (name.endsWith(".png") || name.endsWith(".jpg")) {//图片
-                                Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
-                                Uri uri = Uri.fromFile(response);
-                                intent.setData(uri);
-                                sendBroadcast(intent); // 发送广播通知相册
-                            }
-                            G.showToast("下载文件成功");
-                        }
-                    });
+            CommonUtil.getInstance().showDownLoad(ActWeb.this, url, name);
         }
 
         @JavascriptInterface