|
|
@@ -1,20 +1,45 @@
|
|
|
package com.wiipu.peopleheart.home;
|
|
|
|
|
|
import android.annotation.TargetApi;
|
|
|
+import android.app.AlertDialog;
|
|
|
import android.content.ClipData;
|
|
|
+import android.content.DialogInterface;
|
|
|
import android.content.Intent;
|
|
|
+import android.graphics.Bitmap;
|
|
|
import android.net.Uri;
|
|
|
+import android.net.http.SslError;
|
|
|
import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
+import android.os.Environment;
|
|
|
+import android.os.Message;
|
|
|
+import android.provider.MediaStore;
|
|
|
+import android.support.annotation.Nullable;
|
|
|
import android.support.v7.widget.GridLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.TextUtils;
|
|
|
+import android.text.format.DateFormat;
|
|
|
import android.util.Log;
|
|
|
+import android.view.KeyEvent;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
+import android.webkit.ClientCertRequest;
|
|
|
+import android.webkit.ConsoleMessage;
|
|
|
+import android.webkit.GeolocationPermissions;
|
|
|
+import android.webkit.HttpAuthHandler;
|
|
|
+import android.webkit.JsPromptResult;
|
|
|
+import android.webkit.JsResult;
|
|
|
+import android.webkit.PermissionRequest;
|
|
|
+import android.webkit.RenderProcessGoneDetail;
|
|
|
+import android.webkit.SafeBrowsingResponse;
|
|
|
+import android.webkit.SslErrorHandler;
|
|
|
import android.webkit.ValueCallback;
|
|
|
import android.webkit.WebChromeClient;
|
|
|
+import android.webkit.WebResourceError;
|
|
|
+import android.webkit.WebResourceRequest;
|
|
|
+import android.webkit.WebResourceResponse;
|
|
|
+import android.webkit.WebSettings;
|
|
|
+import android.webkit.WebStorage;
|
|
|
import android.webkit.WebView;
|
|
|
import android.webkit.WebViewClient;
|
|
|
import android.widget.Button;
|
|
|
@@ -22,13 +47,18 @@ import android.widget.ImageView;
|
|
|
import android.widget.LinearLayout;
|
|
|
import android.widget.RelativeLayout;
|
|
|
import android.widget.TextView;
|
|
|
+import android.widget.Toast;
|
|
|
|
|
|
import com.bigkoo.convenientbanner.ConvenientBanner;
|
|
|
import com.bigkoo.convenientbanner.holder.CBViewHolderCreator;
|
|
|
import com.bigkoo.convenientbanner.listener.OnItemClickListener;
|
|
|
+import com.lwkandroid.imagepicker.ImagePicker;
|
|
|
+import com.lwkandroid.imagepicker.data.ImageBean;
|
|
|
+import com.lwkandroid.imagepicker.data.ImagePickType;
|
|
|
import com.wiipu.commonlib.base.BaseAdapter;
|
|
|
import com.wiipu.commonlib.base.BaseMvpFragment;
|
|
|
import com.wiipu.commonlib.net.HttpClient;
|
|
|
+import com.wiipu.commonlib.utils.image.GlideImgLoader;
|
|
|
import com.wiipu.peopleheart.R;
|
|
|
import com.wiipu.peopleheart.home.acticity.commonActivity;
|
|
|
import com.wiipu.peopleheart.home.acticity.homeNewsDetailActivity;
|
|
|
@@ -40,8 +70,11 @@ import com.wiipu.peopleheart.home.response.topNewsResponse;
|
|
|
import com.wiipu.peopleheart.widget.ClearEditText;
|
|
|
import com.wiipu.peopleheart.widget.convenientBanner.GlideHolderView;
|
|
|
|
|
|
+import java.io.File;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
import java.util.List;
|
|
|
+import java.util.Locale;
|
|
|
|
|
|
import butterknife.BindView;
|
|
|
import butterknife.ButterKnife;
|
|
|
@@ -64,7 +97,9 @@ public class HomeNewFragment extends BaseMvpFragment{
|
|
|
private ValueCallback<Uri> uploadMessage;
|
|
|
private ValueCallback<Uri[]> uploadMessageAboveL;
|
|
|
private final static int FILE_CHOOSER_RESULT_CODE = 10000;
|
|
|
+ private final static int REQUEST_CAMERA = 10001;
|
|
|
private boolean needClearHistory = false;
|
|
|
+ private String TAG = "home";
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -95,7 +130,19 @@ public class HomeNewFragment extends BaseMvpFragment{
|
|
|
@Override
|
|
|
protected void initViews() {
|
|
|
//设置WebView属性,能够执行Javascript脚本
|
|
|
- mWebView.getSettings().setJavaScriptEnabled(true);
|
|
|
+ WebSettings webSettings=mWebView.getSettings();
|
|
|
+ webSettings.setJavaScriptEnabled(true);
|
|
|
+ // webSettings.setAllowFileAccess(true);// 设置允许访问文件数据
|
|
|
+ //webSettings.setSupportZoom(true);
|
|
|
+ // webSettings.setBuiltInZoomControls(true);
|
|
|
+ // webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
|
|
|
+ // webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
|
|
|
+ // webSettings.setDomStorageEnabled(true);
|
|
|
+ // webSettings.setDatabaseEnabled(true);
|
|
|
+ // webSettings.setUseWideViewPort(true);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
//加载需要显示的网页
|
|
|
mWebView.loadUrl(HttpClient.BASE_NET_URL + "weixinMinxin/app_index.php");
|
|
|
//设置web视图
|
|
|
@@ -104,8 +151,10 @@ public class HomeNewFragment extends BaseMvpFragment{
|
|
|
// mWebView.setWebViewClient(new WebViewClient());
|
|
|
mWebView.setWebViewClient(new WebViewClient() {
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public void onPageFinished(WebView view, String url) {
|
|
|
+
|
|
|
super.onPageFinished(view, url);
|
|
|
String title = view.getTitle();
|
|
|
if (!TextUtils.isEmpty(title)) {
|
|
|
@@ -118,7 +167,7 @@ public class HomeNewFragment extends BaseMvpFragment{
|
|
|
});
|
|
|
|
|
|
mWebView.setWebChromeClient(new WebChromeClient(){
|
|
|
-
|
|
|
+
|
|
|
// For Android < 3.0
|
|
|
public void openFileChooser(ValueCallback<Uri> valueCallback) {
|
|
|
uploadMessage = valueCallback;
|
|
|
@@ -153,12 +202,40 @@ public class HomeNewFragment extends BaseMvpFragment{
|
|
|
}
|
|
|
|
|
|
private void openImageChooserActivity() {
|
|
|
- Intent i = new Intent(Intent.ACTION_GET_CONTENT);
|
|
|
- i.addCategory(Intent.CATEGORY_OPENABLE);
|
|
|
- i.setType("image/*");
|
|
|
- startActivityForResult(Intent.createChooser(i, "Image Chooser"), FILE_CHOOSER_RESULT_CODE);
|
|
|
+ final String[] items = new String[] { "相机", "文件" };
|
|
|
+ // 创建对话框构建器
|
|
|
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
|
|
+ // 设置参数
|
|
|
+ builder.setTitle("请选择文件来源:")
|
|
|
+ .setItems(items, new DialogInterface.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(DialogInterface dialog, int which) {
|
|
|
+ if (items[which].equals("相机")) {
|
|
|
+ chooseFromCamera();
|
|
|
+ } else {
|
|
|
+ chooseFromFile();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ builder.create().show();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void chooseFromCamera() {
|
|
|
+ new ImagePicker()
|
|
|
+ .pickType(ImagePickType.ONLY_CAMERA)//设置选取类型(拍照、单选、多选)
|
|
|
+ .displayer(new GlideImgLoader())//自定义图片加载器,默认是Glide实现的,可自定义图片加载器
|
|
|
+ .start(this, REQUEST_CAMERA);
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
+ private void chooseFromFile() {
|
|
|
+ Intent i = new Intent(Intent.ACTION_GET_CONTENT);
|
|
|
+ i.addCategory(Intent.CATEGORY_OPENABLE);
|
|
|
+ i.setType("image/*");
|
|
|
+ startActivityForResult(Intent.createChooser(i, "Image Chooser"), FILE_CHOOSER_RESULT_CODE);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
|
@@ -171,16 +248,24 @@ public class HomeNewFragment extends BaseMvpFragment{
|
|
|
uploadMessage.onReceiveValue(result);
|
|
|
uploadMessage = null;
|
|
|
}
|
|
|
+ } else if (requestCode == REQUEST_CAMERA) {
|
|
|
+
|
|
|
+ if (null == uploadMessage && null == uploadMessageAboveL) return;
|
|
|
+ Uri result = data == null || resultCode != RESULT_OK ? null : data.getData();
|
|
|
+ if (uploadMessageAboveL != null) {
|
|
|
+ onActivityResultAboveL(requestCode, resultCode, data);
|
|
|
+ } else if (uploadMessage != null) {
|
|
|
+ uploadMessage.onReceiveValue(result);
|
|
|
+ uploadMessage = null;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
|
|
|
private void onActivityResultAboveL(int requestCode, int resultCode, Intent intent) {
|
|
|
- if (requestCode != FILE_CHOOSER_RESULT_CODE || uploadMessageAboveL == null)
|
|
|
- return;
|
|
|
Uri[] results = null;
|
|
|
- if (resultCode == RESULT_OK) {
|
|
|
+ if (resultCode == RESULT_OK && requestCode==FILE_CHOOSER_RESULT_CODE) {
|
|
|
if (intent != null) {
|
|
|
String dataString = intent.getDataString();
|
|
|
ClipData clipData = intent.getClipData();
|
|
|
@@ -194,9 +279,21 @@ public class HomeNewFragment extends BaseMvpFragment{
|
|
|
if (dataString != null)
|
|
|
results = new Uri[]{Uri.parse(dataString)};
|
|
|
}
|
|
|
+ } else if (requestCode == REQUEST_CAMERA && resultCode == RESULT_OK) {
|
|
|
+ List<ImageBean> resultList = intent.getExtras().getParcelableArrayList(ImagePicker.INTENT_RESULT_DATA);
|
|
|
+ if(resultList != null){
|
|
|
+ String mAvatarPath = resultList.get(0).getImagePath();
|
|
|
+ Uri result = Uri.fromFile(new File(mAvatarPath));
|
|
|
+ results = new Uri[]{result};
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
- uploadMessageAboveL.onReceiveValue(results);
|
|
|
- uploadMessageAboveL = null;
|
|
|
+
|
|
|
+ if (results != null) {
|
|
|
+ uploadMessageAboveL.onReceiveValue(results);
|
|
|
+ uploadMessageAboveL = null;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|