/** * */ package com.hupu.games.activity; import android.annotation.SuppressLint; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.webkit.WebSettings.RenderPriority; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.TextView; import com.hupu.games.R; import com.hupu.games.common.HuPuRes; import com.hupu.games.common.HupuLog; import com.hupu.games.common.HupuScheme; import com.hupu.games.view.HupuWebView; import com.mato.sdk.proxy.Proxy; /** * @author */ @SuppressLint("NewApi") public class AdWebviewActivity extends HupuBaseActivity { private String url; private HupuWebView adWebView; View progressbar; Intent in; private String title; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_adview); adWebView = (HupuWebView) findViewById(R.id.ad_webview); Proxy.supportWebview(this); // myPrizeWebView.getSettings().setBlockNetworkImage(true); adWebView.getSettings().setRenderPriority(RenderPriority.HIGH); adWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); setOnClickListener(R.id.btn_back); setOnClickListener(R.id.btn_share); in = getIntent(); // ���ù��ͷ�� title //ֻ�����������вŴ�����title if (in.getStringExtra("ad_title") != null) { title = in.getStringExtra("ad_title"); }else { title = this.getString(R.string.app_name); } if (title != null) { ((TextView) findViewById(R.id.txt_title)).setText(title); } url = in.getStringExtra("ad_url"); adWebView.loadUrl(url); adWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { sendUmeng(HuPuRes.UMENG_EVENT_PROMOTION, HuPuRes.UMENG_KEY_SPLASH, HuPuRes.UMENG_VALUE_PAGEFINISHED); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Uri data = Uri.parse(url); if (data != null && "kanqiu".equalsIgnoreCase(data.getScheme())) { // ����ǿ���scheme HupuScheme scheme = new HupuScheme(); scheme.paser(data); Intent intent = new Intent(AdWebviewActivity.this, HupuHomeActivity.class); intent.putExtra("scheme", (HupuScheme) scheme); startActivity(intent); AdWebviewActivity.this.finish(); } else view.loadUrl(url); return true; } }); } @Override public void treatClickEvent(int id) { super.treatClickEvent(id); switch (id) { case R.id.btn_back: startToHome(); break; case R.id.btn_share: showShareView("���˿���", "http://kanqiu.hupu.com/s?u=" + url, title, true); break; } } @Override protected void openWebBrowser() { closeDialog(); Uri uri = Uri.parse(url); if (uri.getScheme() != null) { Intent viewIntent = new Intent(Intent.ACTION_VIEW, uri); startActivity(viewIntent); } else startToHome(); } private void startToHome() { if (title != null) { Intent intent = new Intent(this, HupuHomeActivity.class); Object scheme = in.getSerializableExtra("scheme"); if (scheme != null) { // ���֪ͨ����� intent.putExtra("scheme", (HupuScheme) scheme); } startActivity(intent); } finish(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if (adWebView.canGoBack()) { adWebView.goBack(); } else { startToHome(); } return true; } return super.onKeyDown(keyCode, event); } @Override protected void onDestroy() { if (adWebView != null) { adWebView.stopLoading(); adWebView.clearHistory(); adWebView.setVisibility(View.GONE); adWebView.destroy(); } super.onDestroy(); } }