Android WebView 实例
来源:互联网 发布:dr3插件mac安装 编辑:程序博客网 时间:2024/04/28 23:47
新浪微博Android客户端开发视频中OAuth认证要使用WebView作为嵌入浏览器进行OAuth认证,所以现在我也把代码贴出来一下
布局文件比较简单,就一个WebView 控件。
Activity:
首先是布局文件,webview.xml:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <WebView android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:id="@+id/wbView"/>
- </LinearLayout>
布局文件比较简单,就一个WebView 控件。
Activity:
- package com.iweibo;
- import com.iweibo.oauth.MyOAuth;
- import com.iweibo.util.JavascriptInterface;
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.Handler;
- import android.webkit.WebChromeClient;
- import android.webkit.WebView;
- import android.webkit.WebViewClient;
- import android.widget.Toast;
- /**
- *
- * @author touch Android
- * @version 1.0
- * http://bbs.droidstouch.com
- */
- public class WebViewActivity extends Activity {
- private WebView wbView;
- private String url=null;
- private Handler handler;
- private ProgressDialog pd;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.webview);
- url= MyOAuth.getAuthenticationURL();
- System.out.println("url" +url);
- if(null==url)
- {
- Toast.makeText(this, "授权地址为空", 3000).show();
- return ;
- }
- init();
- loadUrl(wbView, url);
- handler = new Handler()
- {
- public void handleMessage(android.os.Message msg)
- {
- switch(msg.what)
- {
- case 0:
- pd.show();
- break;
- case 1:
- pd.dismiss();
- break;
- }
- };
- };
- }
- private void init()
- {
- wbView = (WebView) this.findViewById(R.id.wbView);
- //设置可用Javascript脚本
- wbView.getSettings().setJavaScriptEnabled(true);
- wbView.setScrollBarStyle(0);//滚动条风格,为0就是不给滚动条留空间,滚动条覆盖在网页上
- wbView.addJavascriptInterface(new JavascriptInterface(), "Methods");
- wbView.setWebViewClient(new WebViewClient()
- {
- public boolean shouldOverrideUrlLoading(WebView view, String url)
- {
- loadUrl(view, url);
- return true;
- }
- @Override
- public void onPageFinished(WebView view, String url)
- {
- if(url.equals("http://api.t.sina.com.cn/oauth/authorize"))
- {
- view.loadUrl("javascript:window.Methods.getPin('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
- Intent intent = new Intent(WebViewActivity.this, AccessTokenActivity.class);
- startActivity(intent);
- }
- super.onPageFinished(view, url);
- }
- });
- wbView.setWebChromeClient(new WebChromeClient(){
- public void onProgressChanged(WebView view, int newProgress)
- {
- if(newProgress == 100)// 全部加载完毕
- {
- handler.sendEmptyMessage(1);
- }
- super.onProgressChanged(view, newProgress);
- }
- });
- pd = new ProgressDialog(this);
- pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
- pd.setMessage("正在载入");
- }
- private void loadUrl(final WebView view,final String url)
- {
- new Thread()
- {
- public void run() {
- handler.sendEmptyMessage(0);
- view.loadUrl(url);
- };
- }.start();
- }
- }
0 0
- Android WebView 实例
- Android WebView 实例
- Android WebView 实例
- android WebView 使用实例
- Android Webview 使用实例
- android的WebView简单实例
- android WebView使用实例详解
- Android webview控件(一) 使用webview开发浏览器实例
- android用户界面之WebView教程实例汇总
- Android使用WebView打开网页的实例
- Android WebView js与Java调用实例
- android用户界面之WebView教程实例汇总
- android用户界面之WebView教程实例汇总
- Android之WebView教程实例汇总
- WebView---Android与js交互实例
- ******Android应用实例之有道辞典(WebView) **********
- Android应用实例之有道辞典(WebView)
- Android应用实例之有道辞典(WebView)
- jquery 鼠标拖动效果
- 基于Android/IOS视频语音通话商业产品源码转让
- 每天进步一点点——一致性哈希算法(consistent hashing)
- 代码面试最常用的10大算法
- 关于流
- Android WebView 实例
- Deploy and Use the Splunk App for HadoopOps
- OC 中的NSArray NSString NSMutableArray
- 一点说明
- 使用Starteam视图(View)管理项目版本分支
- 基础背包模板
- 传教士
- 解决svn "cannot set LC_CTYPE locale"的问题
- 随机队列,随机背包,Josephus问题