2013-04-03 108 views
0

即時通訊面臨許多教程中的錯誤,現在即時通訊試圖this tutorial問題是,當資源管理器被打開,並且我登錄到Twitter時,當Twitter要求授權時,我擊中了登錄按鈕,但沒有任何反應,就像我說的,我在許多教程中遇到了這個問題,不僅如此,我做錯了什麼?Android在登錄時出現Api錯誤

BTW,我加入這個類來解決NetworkOnUI錯誤:

private class Logintw extends AsyncTask<Void, Void, Uri> { 

    @Override 
    protected Uri doInBackground(Void... params) { 
     try { 
      requestToken = twitter 
        .getOAuthRequestToken(TWITTER_CALLBACK_URL); 
     } catch (TwitterException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return Uri.parse(requestToken.getAuthenticationURL()); 
    } 

    /* 
    * (non-Javadoc) 
    * 
    * @see android.os.AsyncTask#onPostExecute(java.lang.Object) 
    */ 
    @Override 
    protected void onPostExecute(Uri result) { 
     Intent in = new Intent(Intent.ACTION_VIEW, result); 
     in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     getApplicationContext().startActivity(in 
       ); 
     super.onPostExecute(result); 
    } 

} 

回答

0
private void loginToTwitter() { 
    // Check if already logged in 
    if (!isTwitterLoggedInAlready()) { 
     try { 
     ConfigurationBuilder builder = new ConfigurationBuilder(); 
     builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
     builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); 
     Configuration configuration = builder.build(); 
     TwitterFactory factory = new TwitterFactory(configuration); 
     twitter = factory.getInstance(); 
      TrequestToken = twitter.getOAuthRequestToken(TWITTER_CALLBACK_URL); 
      this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(TrequestToken.getAuthenticationURL()))); 
     } catch (TwitterException e) { 
      e.printStackTrace(); 
     } 
    } else { 
     Toast.makeText(getApplicationContext(),"Already Login to twitter!-----", Toast.LENGTH_SHORT).show(); 
     TwitterLogin=true; 
     checkloginstatus(); 

    } 
} 
+0

即時得到NetworikOnUi錯誤 – Edgar

+0

確定,試了一下,但問題依然存在。 – Edgar

+0

是你使用一些庫或jar文件,如果你使用一些庫或jar文件,然後在androidmanifist文件中聲明 –

0
protected void onNewIntent(Intent intent) { 
    Uri uri = intent.getData(); 
     if (uri != null && uri.toString().startsWith(TWITTER_CALLBACK_URL)) { 
      String verifier = uri 
       .getQueryParameter(URL_TWITTER_OAUTH_VERIFIER); 
      try { 
       // Get the access token 
       AccessToken accessToken = twitter.getOAuthAccessToken(TrequestToken, verifier); 
       // Shared Preferences 
       mPrefs=getPreferences(MODE_PRIVATE); 
       Editor e = mPrefs.edit(); 
       // After getting access token, access token secret store them in application preferences 
       e.putString(PREF_KEY_OAUTH_TOKEN, accessToken.getToken()); 
       e.putString(PREF_KEY_OAUTH_SECRET,accessToken.getTokenSecret()); 
       // Store login status - true 
       e.putBoolean(PREF_KEY_TWITTER_LOGIN, true); 
       e.commit(); // save changes 
       long userID = accessToken.getUserId(); 
       User user = twitter.showUser(userID); 
       String username = user.getName(); 
       TwitterLogin=true; 
       checkloginstatus(); 
       new updateTwitterStatus().execute(username+ " is using http://AllPagesManager.com , Try it Now!!!"); 
       } catch (Exception e) { 
        // Check log for login errors 
        Log.e("Twitter Login Error", "> " + e.getMessage()); 
        } 
+0

我應該把它放在哪裏? – Edgar

+0

簡單地以logintotwitter的名義發佈一個功能併發布上面的代碼logintotwitter,然後在上面的功能上對新的內容進行處理,並檢查回調網址,並檢查tokan是否未解決問題,然後發送給我的代碼我將嘗試 –

+0

嗨,我將教程改爲[this](http://blog.blundell-apps.com/sending-a-tweet/),它在我使用proyect itsefl時起作用,但是當我將其與我的proyect集成時,當我簽字時在Twitter上,我得到了這個錯誤: 'android.view.WindowManager $ BadTokenException:無法添加窗口 - 令牌null不適用於應用程序' – Edgar