package com.google.mcommerce.sample.android.chapter14.taobao;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.google.mcommerce.sample.android.AppConstants;
import com.google.mcommerce.sample.android.R;
public class Oauth2TaobaoActivity extends Activity {
private static final String TAG = "Oauth2TaobaoActivity";
private WebView mWebView;
private Intent i;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.c14_login_oauth_view);
mWebView = (WebView) findViewById(R.id.web_view);
mWebView.getSettings().setJavaScriptEnabled(true);
// 页面缩放设置
mWebView.getSettings().setBuiltInZoomControls(true);
// 使页面获得焦点
mWebView.requestFocus();
String authorizationUrl = "https://oauth.taobao.com/authorize?response_type=token&"
+ "client_id="
+ AppConstants.APP_KEY
+ "&scope=item&state=1212" + "&view=wap";
mWebView.loadUrl(authorizationUrl);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
log(url);
if (url.startsWith(AppConstants.OAUTH_CALLBACK_URL)) {
String[] params = Uri.parse(url).getFragment().split("\\&");
for (String param : params) {
String[] parts = param.split("\\=");
if (parts[0].equals("access_token")) {
log(parts[0]);
i = new Intent(Oauth2TaobaoActivity.this,
UserInfoActivity.class);
i.putExtra("accessToken", parts[1]);
startActivity(i);
}
}
}
}
});
}
private void log(String msg) {
Log.d(TAG, msg);
}
}