Android Open Source - Android_Oauth_Demo Login Activity






From Project

Back to project page Android_Oauth_Demo.

License

The source code is released under:

MIT License

If you think the Android project Android_Oauth_Demo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

?package com.example.sdnusdk;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import cn.edu.sdnu.i.util.oauth.Oauth;
//  w  w w.ja v a 2 s  . c o  m
import com.example.sdnusdk.R;

public class LoginActivity extends  Activity{
  private WebView show;
  
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    super.setContentView(R.layout.loginactivity);
    
    Bundle bundle = this.getIntent().getExtras();
    String urlStr = bundle.getString("url");
    //???? webview
    initWebView(urlStr);  
    //????? ???token  
  }

  private  Handler mHandler =new Handler(new Handler.Callback(){      
    @Override
    public boolean  handleMessage(Message msg){

      switch (msg.what) {        
       case  Oauth.ERROR:
              Toast.makeText(LoginActivity.this, "?????,?????!", Toast.LENGTH_SHORT).show();
              break;  
      case Oauth.ACC_TOKEN:
        decodeAccessToken();
            default:   
                break;  
            }       
      return false;
    }  
  }); 
  
  
  private void decodeAccessToken( ) {
    // TODO Auto-generated method stub
    //???? .
    //???token??? .??????.
    String token = Oauth.getToken();
    Utils.saveTokenValue(LoginActivity.this, token, Utils.TOKENVALUE, Context.MODE_PRIVATE);
    
    Intent intent = new Intent();
    intent.setClass(LoginActivity.this, MainActivity.class);
    startActivity(intent);
    LoginActivity.this.finish();
  }

  @SuppressLint("SetJavaScriptEnabled")
  private void initWebView(String urlStr){
    // ??????????????WebView??
    show = (WebView) findViewById(R.id.show);    
    show.setWebViewClient(new WebViewClient(){  
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // TODO Auto-generated method stub    
        String subcallbackUrl = "login_custom.jsp?userip=";;
        if (url.contains(subcallbackUrl)) {
                view.stopLoading();
                view.loadUrl("about:blank");
          Toast.makeText(LoginActivity.this,"????,????!", Toast.LENGTH_SHORT).show();
                return true;
            }else if (url.contains("http://fakeurl.com/callback?from=isdnu")){                    
            if(Oauth.setOauthVerifier(url)){
              //Request token ?????? Access Token 
              //????????,???????? access token ??.
              Oauth.startThread(mHandler, null,Oauth.ACC_TOKEN,LoginActivity.this);  
              Toast.makeText(LoginActivity.this, "?????,?????!", Toast.LENGTH_SHORT).show();                
            }
            }
            return false;
      }
      @Override
      public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub    
        super.onPageFinished(view, url);
      }    
    });
    //??? js
    show.getSettings().setJavaScriptEnabled(true);    
    show.loadUrl(urlStr);  
  }
  
  
  @Override
  public void onResume() {
    super.onResume();    
  }

  public void onPause() {
    super.onPause();
    
  }    
}




Java Source Code List

.LoginActivity.java
com.example.sdnusdk.MainActivity.java
com.example.sdnusdk.Utils.java
com.example.sdnusdk.WelcomeActivity.java