2011-11-08 127 views
0

我使用linkedin和twitter登錄我的應用程序。這兩個客戶端通過webview傳遞並返回到我的應用程序中(我使用onNewIntent()從它們獲取數據)。問題是:在一個活動中我不能有兩個onNewIntent()。我怎樣才能在同一個活動中同時執行兩個onNewIntent()?我可以在一個Android活動中使用兩個onNewIntent()嗎?

這裏我的代碼:

@Override 
protected void onNewIntent1(Intent intent2) { 
    super.onNewIntent(intent2); 
    Uri uri = intent2.getData(); 
    try { 
     String verifier = uri.getQueryParameter("oauth_verifier"); 
     AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, 
       verifier); 
     String token = accessToken.getToken(), secret = accessToken 
       .getTokenSecret(); 

     System.out.println("ACCESSSSSSSS"+accessToken+token); 
    } catch (TwitterException ex) { 
     Log.e("Main.onNewIntent", "" + ex.getMessage()); 
    } 

} 


@Override 
protected void onNewIntent(Intent intent) { 

    String verifier = intent.getData().getQueryParameter("oauth_verifier"); 

    LinkedInAccessToken accessToken = oAuthService.getOAuthAccessToken(liToken, verifier); 
    client = factory.createLinkedInApiClient(accessToken); 
    client.postNetworkUpdate("LinkedIn Android app test"); 

    Person p = client.getProfileForCurrentUser(EnumSet.of(ProfileField.FIRST_NAME, ProfileField.LAST_NAME, ProfileField.ID)); 

    System.out.println("Token "+accessToken.getToken());  
    System.out.println("Secret "+accessToken.getTokenSecret()); 
    System.out.println("NOM: "+p.getLastName() + ", PRENOM: " + p.getFirstName()); 

    String user_id = p.getId(); 
    String first_name = p.getFirstName(); 
    String last_name = p.getLastName(); 
    String oauth_token = accessToken.getToken(); 
    String oauth_token_secret = accessToken.getTokenSecret(); 

    //Verification du login/password 
    new LoginLinkedin().execute(user_id,oauth_token,oauth_token_secret,first_name,last_name); 

    } 

回答

2

你不能做到這一點。因爲onNewIntent必須被父類覆蓋,所以系統只會'看見'實際上覆蓋父方法的onNewIntent。上面的代碼應該會導致錯誤,因爲onNewIntent1上的@Override方法的使用無效。

您需要做的是通過觀察其當前數據,然後運行您的Twitter或代碼鏈接來確定意圖的來源。這個觀察應該在一個統一的onNewIntent方法中進行。

+0

是的我認爲唯一的方法就是做這個.. – user420574

相關問題