|
|
@@ -3,6 +3,7 @@ package com.modular.appmessages.activity;
|
|
|
import android.content.Intent;
|
|
|
import android.graphics.Bitmap;
|
|
|
import android.net.http.SslError;
|
|
|
+import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
import android.view.Menu;
|
|
|
import android.view.MenuItem;
|
|
|
@@ -13,6 +14,7 @@ import android.webkit.WebSettings;
|
|
|
import android.webkit.WebView;
|
|
|
import android.webkit.WebViewClient;
|
|
|
import android.widget.ProgressBar;
|
|
|
+import android.widget.ZoomButtonsController;
|
|
|
|
|
|
import com.common.system.SystemUtil;
|
|
|
import com.core.base.BaseActivity;
|
|
|
@@ -23,136 +25,166 @@ import com.umeng.socialize.ShareAction;
|
|
|
import com.umeng.socialize.bean.SHARE_MEDIA;
|
|
|
import com.umeng.socialize.media.UMImage;
|
|
|
|
|
|
+import java.lang.reflect.Field;
|
|
|
+
|
|
|
public class MessageWebActivity extends BaseActivity {
|
|
|
|
|
|
|
|
|
- private WebView webViewRefresh;
|
|
|
- private ProgressBar progressBar;
|
|
|
- private String url;
|
|
|
-
|
|
|
- @Override
|
|
|
- protected void onCreate(Bundle savedInstanceState) {
|
|
|
- super.onCreate(savedInstanceState);
|
|
|
- setContentView(R.layout.activity_message_web);
|
|
|
- webViewRefresh = (WebView) findViewById(R.id.webView);
|
|
|
- progressBar = (ProgressBar) findViewById(R.id.progressBar);
|
|
|
- initView();
|
|
|
- initData();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
- if (getIntent() != null && getIntent().getBooleanExtra(IntentUtils.KEY_NEER_SHARE, false)) {
|
|
|
- getMenuInflater().inflate(R.menu.menu_about, menu);
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
- if (R.id.app_about == item.getItemId()) {
|
|
|
- String title = getSupportActionBar().getTitle().toString();
|
|
|
- String content = null;
|
|
|
- String imageUrl = null;
|
|
|
- Intent intent = getIntent();
|
|
|
- if (intent != null) {
|
|
|
- content = intent.getStringExtra(IntentUtils.KEY_SHARE_CONTENT);
|
|
|
- imageUrl = intent.getStringExtra(IntentUtils.KEY_SHARE_IMAGE);
|
|
|
- }
|
|
|
- if (content == null) {
|
|
|
- content = "UU互联 Android客户端" + SystemUtil.getVersionName(mContext);
|
|
|
- imageUrl = "http://img.my.csdn.net/uploads/201609/30/1475204542_1365.png";
|
|
|
- }
|
|
|
- new ShareAction(activity).setDisplayList(
|
|
|
- SHARE_MEDIA.SINA,
|
|
|
- SHARE_MEDIA.QQ,
|
|
|
- SHARE_MEDIA.QZONE,
|
|
|
- SHARE_MEDIA.WEIXIN,
|
|
|
- SHARE_MEDIA.WEIXIN_CIRCLE,
|
|
|
- SHARE_MEDIA.WEIXIN_FAVORITE,
|
|
|
- SHARE_MEDIA.MORE)
|
|
|
- .withTitle(title)
|
|
|
- .withText(content)
|
|
|
- .withMedia(new UMImage(activity, imageUrl))
|
|
|
- .withTargetUrl(url)
|
|
|
- .setCallback(CommonUtil.umShareListener)
|
|
|
- .open();
|
|
|
- }
|
|
|
- return super.onOptionsItemSelected(item);
|
|
|
- }
|
|
|
-
|
|
|
- private void initView() {
|
|
|
- webViewRefresh.getSettings().setJavaScriptEnabled(true);
|
|
|
- webViewRefresh.getSettings().setSupportZoom(true);
|
|
|
- webViewRefresh.getSettings().setBuiltInZoomControls(true);
|
|
|
- webViewRefresh.getSettings().setUseWideViewPort(true);
|
|
|
- webViewRefresh.getSettings().setDomStorageEnabled(true);
|
|
|
- webViewRefresh.getSettings().setLoadWithOverviewMode(true);
|
|
|
- webViewRefresh.getSettings().setDefaultTextEncodingName("utf-8");
|
|
|
- webViewRefresh.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
|
|
|
- webViewRefresh.clearCache(true);
|
|
|
- webViewRefresh.clearHistory();
|
|
|
- webViewRefresh.setWebViewClient(new WebViewClient() {
|
|
|
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
|
|
- view.loadUrl(url);
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
|
|
- if (progressBar.getVisibility() == View.GONE) {
|
|
|
- progressBar.setVisibility(View.VISIBLE);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onPageFinished(WebView view, String url) {
|
|
|
- if (progressBar.getVisibility() == View.VISIBLE) {
|
|
|
- progressBar.setVisibility(View.GONE);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
|
|
|
- handler.proceed();
|
|
|
- }
|
|
|
- });
|
|
|
- webViewRefresh.setWebChromeClient(new WebChromeClient() {
|
|
|
- @Override
|
|
|
- public void onProgressChanged(WebView view, int newProgress) {
|
|
|
- progressBar.setProgress(newProgress);
|
|
|
- if (newProgress == 100) {
|
|
|
- progressBar.setProgress(newProgress);
|
|
|
- progressBar.setVisibility(View.GONE);
|
|
|
- }
|
|
|
- super.onProgressChanged(view, newProgress);
|
|
|
- }
|
|
|
- });
|
|
|
+ private WebView webViewRefresh;
|
|
|
+ private ProgressBar progressBar;
|
|
|
+ private String url;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ setContentView(R.layout.activity_message_web);
|
|
|
+ webViewRefresh = (WebView) findViewById(R.id.webView);
|
|
|
+ progressBar = (ProgressBar) findViewById(R.id.progressBar);
|
|
|
+ initView();
|
|
|
+ initData();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
+ if (getIntent() != null && getIntent().getBooleanExtra(IntentUtils.KEY_NEER_SHARE, false)) {
|
|
|
+ getMenuInflater().inflate(R.menu.menu_about, menu);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
+ if (R.id.app_about == item.getItemId()) {
|
|
|
+ String title = getSupportActionBar().getTitle().toString();
|
|
|
+ String content = null;
|
|
|
+ String imageUrl = null;
|
|
|
+ Intent intent = getIntent();
|
|
|
+ if (intent != null) {
|
|
|
+ content = intent.getStringExtra(IntentUtils.KEY_SHARE_CONTENT);
|
|
|
+ imageUrl = intent.getStringExtra(IntentUtils.KEY_SHARE_IMAGE);
|
|
|
+ }
|
|
|
+ if (content == null) {
|
|
|
+ content = "UU互联 Android客户端" + SystemUtil.getVersionName(mContext);
|
|
|
+ imageUrl = "http://img.my.csdn.net/uploads/201609/30/1475204542_1365.png";
|
|
|
+ }
|
|
|
+ new ShareAction(activity).setDisplayList(
|
|
|
+ SHARE_MEDIA.SINA,
|
|
|
+ SHARE_MEDIA.QQ,
|
|
|
+ SHARE_MEDIA.QZONE,
|
|
|
+ SHARE_MEDIA.WEIXIN,
|
|
|
+ SHARE_MEDIA.WEIXIN_CIRCLE,
|
|
|
+ SHARE_MEDIA.WEIXIN_FAVORITE,
|
|
|
+ SHARE_MEDIA.MORE)
|
|
|
+ .withTitle(title)
|
|
|
+ .withText(content)
|
|
|
+ .withMedia(new UMImage(activity, imageUrl))
|
|
|
+ .withTargetUrl(url)
|
|
|
+ .setCallback(CommonUtil.umShareListener)
|
|
|
+ .open();
|
|
|
+ }
|
|
|
+ return super.onOptionsItemSelected(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initView() {
|
|
|
+ webViewRefresh.getSettings().setJavaScriptEnabled(true);
|
|
|
+ webViewRefresh.getSettings().setSupportZoom(true);
|
|
|
+ webViewRefresh.getSettings().setBuiltInZoomControls(true);
|
|
|
+ webViewRefresh.getSettings().setUseWideViewPort(true);
|
|
|
+ webViewRefresh.getSettings().setDomStorageEnabled(true);
|
|
|
+ webViewRefresh.getSettings().setLoadWithOverviewMode(true);
|
|
|
+ webViewRefresh.getSettings().setDefaultTextEncodingName("utf-8");
|
|
|
+ webViewRefresh.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
|
|
+ webViewRefresh.getSettings().setDisplayZoomControls(false);
|
|
|
+ } else {
|
|
|
+ setZoomControlGone();
|
|
|
+ }
|
|
|
+ webViewRefresh.clearCache(true);
|
|
|
+ webViewRefresh.clearHistory();
|
|
|
+ webViewRefresh.setWebViewClient(new WebViewClient() {
|
|
|
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
|
|
+ view.loadUrl(url);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
|
|
+ if (progressBar.getVisibility() == View.GONE) {
|
|
|
+ progressBar.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onPageFinished(WebView view, String url) {
|
|
|
+ if (progressBar.getVisibility() == View.VISIBLE) {
|
|
|
+ progressBar.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
|
|
|
+ handler.proceed();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ webViewRefresh.setWebChromeClient(new WebChromeClient() {
|
|
|
+ @Override
|
|
|
+ public void onProgressChanged(WebView view, int newProgress) {
|
|
|
+ progressBar.setProgress(newProgress);
|
|
|
+ if (newProgress == 100) {
|
|
|
+ progressBar.setProgress(newProgress);
|
|
|
+ progressBar.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+ super.onProgressChanged(view, newProgress);
|
|
|
+ }
|
|
|
+ });
|
|
|
// webViewRefresh.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<WebView>() {
|
|
|
// @Override
|
|
|
// public void onRefresh(PullToRefreshBase<WebView> refreshView) {
|
|
|
// loadData();
|
|
|
// }
|
|
|
// });
|
|
|
- }
|
|
|
-
|
|
|
- private void initData() {
|
|
|
- Intent intent = getIntent();
|
|
|
- if (intent != null) {
|
|
|
- url = intent.getStringExtra(IntentUtils.KEY_URL);
|
|
|
- String title = intent.getStringExtra(IntentUtils.KEY_TITLE);
|
|
|
- if (title != null) {
|
|
|
- getSupportActionBar().setTitle(title);
|
|
|
- }
|
|
|
- }
|
|
|
- loadData();
|
|
|
- }
|
|
|
-
|
|
|
- private void loadData() {
|
|
|
- if (url != null) {
|
|
|
- webViewRefresh.loadUrl(url);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setZoomControlGone() {
|
|
|
+ Class classType;
|
|
|
+ Field field;
|
|
|
+ try {
|
|
|
+ classType = WebView.class;
|
|
|
+ field = classType.getDeclaredField("mZoomButtonsController");
|
|
|
+ field.setAccessible(true);
|
|
|
+ ZoomButtonsController mZoomButtonsController = new ZoomButtonsController(webViewRefresh);
|
|
|
+ mZoomButtonsController.getZoomControls().setVisibility(View.GONE);
|
|
|
+ try {
|
|
|
+ field.set(webViewRefresh, mZoomButtonsController);
|
|
|
+ } catch (IllegalArgumentException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } catch (IllegalAccessException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ } catch (SecurityException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } catch (NoSuchFieldException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initData() {
|
|
|
+ Intent intent = getIntent();
|
|
|
+ if (intent != null) {
|
|
|
+ url = intent.getStringExtra(IntentUtils.KEY_URL);
|
|
|
+ String title = intent.getStringExtra(IntentUtils.KEY_TITLE);
|
|
|
+ if (title != null) {
|
|
|
+ getSupportActionBar().setTitle(title);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ loadData();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void loadData() {
|
|
|
+ if (url != null) {
|
|
|
+ webViewRefresh.loadUrl(url);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|