2014-10-16 68 views
-1

我想在登录后重定向到我的主要活动。登录后重定向到主要活动

,当我把这个代码,我得到这个错误:

的方法parseObssoCookie(字符串,字符串)是未定义的类型LoginActivity.Callback LoginActivity.java

import android.app.Activity; 
import android.app.ProgressDialog; 
import android.content.Context; 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.graphics.Bitmap; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.os.SystemClock; 
import android.webkit.CookieManager; 
import android.webkit.CookieSyncManager; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class LoginActivity extends Activity { 

    private WebView webView; 
    LoginActivity webActivity; 
    public static String loginCookie = null; 
    private static CookieManager cookieManager; 
    ProgressDialog progDailog; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.login); 
     webActivity = this; 
     webView = (WebView) findViewById(R.id.LoginWebView); 
     progDailog = ProgressDialog.show(this, "Loading Application", 
       "please wait while page is loading..", true); 
     // use cookies to remember a logged in status 
     cookieManager = CookieManager.getInstance(); 
     cookieManager.setCookie("set-cookie",null); 
     cookieManager.removeAllCookie(); 
     cookieManager.setAcceptCookie(true); 
     CookieSyncManager.createInstance(this); 
     CookieSyncManager.getInstance().startSync(); 


     String url = "https://www.example.com/login.aspx"; //the web url 
     loginCookie = cookieManager.getCookie(url); 
     String obsso = parseObssoCookie(url, "ObSSOCookie"); 
     if ((loginCookie != null) && (obsso != null) 
       && (!"loggedoutcontinue".equalsIgnoreCase(obsso))) { 
      finish(); 
      Intent intent = new Intent(this, ActivityMainTabHolder.class); 
      startActivity(intent); 
     } else { 
      webView.getSettings().setJavaScriptEnabled(true); 
      webView.getSettings().setDomStorageEnabled(true); 
      webView.setWebViewClient(new Callback()); 
      webView.loadUrl(url); 
     } 

    } 

    private class Callback extends WebViewClient { 

     @override 
     public void onpagestarted(webview view, string url, bitmap favicon) { 
      // todo auto-generated method stub 
      progdailog.dismiss(); 
      super.onpagestarted(view, url, favicon); 
     } 

     @override 
     public boolean shouldoverrideurlloading(webview view, string url) { 
      return super.shouldoverrideurlloading(view, url); 
     } 

     @override 
     public void onpagefinished(webview view, string url) { 
      // todo auto-generated method stub 
      super.onpagefinished(view, url); 
      logincookie = cookiemanager.getinstance().getcookie(url); 
      if (logincookie != null) { 
       string obsso = parseobssocookie(url, "obssocookie"); 
       if ((obsso != null) 
         && !("loggedoutcontinue".equalsignorecase(obsso))) { 
        finish(); 
        intent intent = new intent(webactivity, activitymaintabholder.class); 
        startactivity(intent); 
         } 
      } 

     } 
    } 

    @Override 
    protected void onResume() { 
     // TODO Auto-generated method stub 
     cookieManager = CookieManager.getInstance(); 
     cookieManager.setCookie("set-cookie",null); 
     cookieManager.removeAllCookie(); 
     cookieManager.setAcceptCookie(true); 
     CookieSyncManager.createInstance(this); 
     CookieSyncManager.getInstance().startSync(); 
     super.onResume(); 
    } 
} 

编辑:

@Deepak:我做了你所说的,但仍然没有将我重定向到ActivityyMainTabHolder.class。
见下面我的代码:

import android.app.Activity; 
import android.app.ProgressDialog; 
import android.content.Context; 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.graphics.Bitmap; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.os.SystemClock; 
import android.webkit.CookieManager; 
import android.webkit.CookieSyncManager; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class LoginActivity extends Activity { 

    private WebView webView; 
    LoginActivity webActivity; 
    public static String loginCookie = null; 
    private static CookieManager cookieManager; 
    ProgressDialog progDailog; 

    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.login); 
    webActivity = this; 
    webView = (WebView) findViewById(R.id.LoginWebView); 
    progDailog = ProgressDialog.show(this, "Loading Application", 
          "please wait while page is loading..", true); 
    // use cookies to remember a logged in status 
    cookieManager = CookieManager.getInstance(); 
    cookieManager.setCookie("set-cookie",null); 
      cookieManager.removeAllCookie(); 
    cookieManager.setAcceptCookie(true); 
    CookieSyncManager.createInstance(this); 
    CookieSyncManager.getInstance().startSync(); 


    String url = "https://www.example.com/login.aspx"; //the web url 
    loginCookie = cookieManager.getCookie(url); 
    String obsso = parseObssoCookie(url, "ObSSOCookie"); 
    if ((loginCookie != null) && (obsso != null) 
      && (!"loggedoutcontinue".equalsIgnoreCase(obsso))) { 
     Intent intent = new Intent(webActivity, ActivityMainTabHolder.class); 
      startActivity(intent); 
      finish(); 
    } else { 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.getSettings().setDomStorageEnabled(true); 
     webView.setWebViewClient(new Callback()); 
     webView.loadUrl(url); 
    } 

} 

    private String parseObssoCookie(String url, String string) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

private class Callback extends WebViewClient { 

    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     // TODO Auto-generated method stub 
     progDailog.dismiss(); 
     super.onPageStarted(view, url, favicon); 
    } 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     return super.shouldOverrideUrlLoading(view, url); 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     // TODO Auto-generated method stub 
     super.onPageFinished(view, url); 
        loginCookie = CookieManager.getInstance().getCookie(url); 
     if (loginCookie != null) { 
      String obsso = parseObssoCookie(url, "ObSSOCookie"); 
      if ((obsso != null) 
        && !("loggedoutcontinue".equalsIgnoreCase(obsso))) { 
       Intent intent = new Intent(webActivity, ActivityMainTabHolder.class); 
       startActivity(intent); 
       finish(); 
      } 
     } 

    } 
} 

@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    cookieManager = CookieManager.getInstance(); 
    cookieManager.setCookie("set-cookie",null); 
      cookieManager.removeAllCookie(); 
    cookieManager.setAcceptCookie(true); 
    CookieSyncManager.createInstance(this); 
    CookieSyncManager.getInstance().startSync(); 
    super.onResume(); 
} 
} 

回答

1
 finish(); 
     Intent intent = new Intent(this, ActivityMainTabHolder.class); 
     startActivity(intent); 

 Intent intent = new Intent(LoginActivity.this, ActivityMainTabHolder.class); 
     startActivity(intent); 
     finish(); 
+0

亲爱的迪帕克,我取代,但它不重定向我到我ActivityMainTabHolder.class。它在登录后仍保持在同一页面上。我创建了这个字符串public String parseObssoCookie(String url,String string){ \t \t // TODO自动生成方法存根 \t \t return null; \t} – a2zbollywood 2014-10-19 04:58:27

1

取代你需要创建你的方法parseObssoCookie(...)

0

您需要创建parseObssoCookie(String, String)方法公开 in LoginActivity.java类

+0

我已经创建了这个公共字符串parseObssoCookie(字符串URL,字符串字符串){ \t \t // TODO自动生成方法存根 \t \t返回NULL; \t}但登录后它不会将我重定向到我的应用活动 – a2zbollywood 2014-10-19 05:01:35

0
finish(); 
    intent intent = new intent(webactivity, activitymaintabholder.class); 
    startactivity(intent); 

更换

Intent intent = new Intent(webactivity, ActivityMainTabHolder.class); 
    startActivity(intent); 
    finish(); 
+0

阅读我的下面的评论。感谢你的所有帮助。 – a2zbollywood 2014-10-20 12:24:07