EmailDialog.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package com.yyrh.ui.dialog;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.net.Uri;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.Gravity;
  8. import android.view.View;
  9. import android.view.animation.Animation;
  10. import android.view.animation.AnimationUtils;
  11. import android.webkit.DownloadListener;
  12. import android.webkit.WebSettings;
  13. import android.webkit.WebView;
  14. import android.webkit.WebViewClient;
  15. import android.widget.ImageView;
  16. import android.widget.LinearLayout;
  17. import com.yyrh.ui.PageJsInteraction;
  18. import com.yyrh.utils.ResourceUtil;
  19. import com.yyrh.utils.TosUtil;
  20. import com.yyrh.utils.Utils;
  21. import java.net.URISyntaxException;
  22. import static com.yyrh.constant.SDKSettings.isLandscape;
  23. public class EmailDialog extends BaseDialog {
  24. private ImageView close_btn;
  25. private Context context;
  26. private WebView webView;
  27. private WebSettings webSettings;
  28. private String url;
  29. public EmailDialog(Context context) {
  30. super(context);
  31. this.context = context;
  32. }
  33. public EmailDialog(Context context, int theme, String url) {
  34. super(context, theme);
  35. this.context = context;
  36. this.url = url;
  37. }
  38. @Override
  39. protected void onCreate(Bundle savedInstanceState) {
  40. super.onCreate(savedInstanceState);
  41. if (!isLandscape){
  42. setContentView(ResourceUtil.getLayoutId(context,
  43. "qj_usercenter_portait_dialog"));
  44. }else{
  45. setContentView(ResourceUtil.getLayoutId(context,
  46. "qj_email_dialog"));
  47. }
  48. setCancelable(false);
  49. webView = findViewById(ResourceUtil.getId(context,
  50. "wb_user_info"));
  51. close_btn = findViewById(ResourceUtil.getId(context,
  52. "close_btn"));
  53. Animation rotateAnimation = AnimationUtils.loadAnimation(context, ResourceUtil.getAnimId(context, "qj_rotate_anim"));
  54. close_btn.setOnClickListener(new View.OnClickListener() {
  55. @Override
  56. public void onClick(View v) {
  57. webView.destroy();
  58. dismiss();
  59. }
  60. });
  61. webSettings = webView.getSettings();
  62. webSettings.setAllowFileAccess(true);
  63. webSettings.setJavaScriptEnabled(true);
  64. webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
  65. webSettings.setBuiltInZoomControls(false);// 设置支持缩放
  66. webSettings.setDomStorageEnabled(true);
  67. webView.setHorizontalScrollBarEnabled(false);//水平不显示
  68. webView.setVerticalScrollBarEnabled(false); //垂直不显示
  69. webView.addJavascriptInterface(new PageJsInteraction(this), "yyrhsdk");
  70. webView.setWebViewClient(new WebViewClient(){
  71. @Override
  72. public void onPageFinished(WebView view, String url) {
  73. super.onPageFinished(view, url);
  74. }
  75. @Override
  76. public boolean shouldOverrideUrlLoading(WebView view, String url) {
  77. if (url.startsWith("http:") || url.startsWith("https")) {
  78. return super.shouldOverrideUrlLoading(view, url);
  79. } else if (url.startsWith("mqqwpa://")) {
  80. Intent intent = null;
  81. try {
  82. intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
  83. context.startActivity(intent);
  84. } catch (URISyntaxException e) {
  85. e.printStackTrace();
  86. }
  87. webView.goBack();
  88. return true;
  89. }else{
  90. return true;
  91. }
  92. }
  93. });
  94. webView.setDownloadListener(new DownloadListener() {
  95. @Override
  96. public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
  97. Uri uri = Uri.parse(url);
  98. Intent intent = new Intent(Intent.ACTION_VIEW, uri);
  99. context.startActivity(intent);
  100. }
  101. });
  102. webView.setBackgroundColor(0);
  103. webView.getBackground().setAlpha(0);
  104. webView.loadUrl(url);
  105. }
  106. @Override
  107. public void zfColse() {
  108. super.zfColse();
  109. dismiss();
  110. }
  111. @Override
  112. public void showJsMsg(String message) {
  113. super.showJsMsg(message);
  114. new TosUtil(context,TosUtil.TOAST_ERROR, message).show();
  115. }
  116. @Override
  117. public void openq0q0(String url) {
  118. super.openq0q0(url);
  119. {
  120. Log.i("openq0q0", url);
  121. if (Utils.judgeStrNull(url)) {
  122. return;
  123. }
  124. if (url.equals("mqqwpa://")) {
  125. try {
  126. Intent intent = context.getPackageManager().getLaunchIntentForPackage("com.tencent.mobileqq");
  127. context.startActivity(intent);
  128. } catch (Exception e) {
  129. e.printStackTrace();
  130. }
  131. } else {
  132. Intent intent = null;
  133. try {
  134. intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
  135. context.startActivity(intent);
  136. } catch (URISyntaxException e) {
  137. e.printStackTrace();
  138. }
  139. }
  140. }
  141. }
  142. @Override
  143. public void dismiss() {
  144. super.dismiss();
  145. }
  146. }