2014-01-31 76 views
1

我想在twitter上發佈我的消息。當我點擊按鈕時,它會向我顯示您的數據已發佈在Twitter上的消息,但是當我檢查時我沒有收到任何消息。這是我的代碼。android消息不在twitter上發佈

btnUpdateStatus.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // Call update status function 
      // Get the status from EditText 
      String status = txtUpdate.getText().toString(); 


      new updateTwitterStatus().execute(status); 

     } 

    }); 

這裏是更新twitterstatus類

private class updateTwitterStatus extends AsyncTask<String,Void,Void> 
{ 
    @Override 
    protected void onPreExecute() 
    { 
     pDialog = new ProgressDialog(MainActivity.this); 
     pDialog.setMessage("Updating to twitter..."); 
     pDialog.setIndeterminate(false); 
     pDialog.setCancelable(false); 
     pDialog.show(); 
    } 


    @Override 
    protected Void doInBackground(String... screen_name) 
    { 

     String status = null; 
     try { 
      ConfigurationBuilder builder = new ConfigurationBuilder(); 
      builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
      builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); 

      // Access Token 
      String access_token = mSharedPreferences.getString(PREF_KEY_OAUTH_TOKEN, ""); 
      // Access Token Secret 
      String access_token_secret = mSharedPreferences.getString(PREF_KEY_OAUTH_SECRET, ""); 

      AccessToken accessToken = new AccessToken(access_token, access_token_secret); 
      Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken); 

      // Update status 
      twitter4j.Status response = twitter.updateStatus(status); 
      Log.i(""+response, "value"); 
      Log.d("Status", "> " + response.getText()); 
     } catch (TwitterException e) { 
      // Error in updating status 
      Log.d("Twitter Update Error", e.getMessage()); 
      e.printStackTrace(); 
     } 
     return null; 

    } 
    /// } 

    @Override 
    protected void onPostExecute(Void result) 
    { 
     pDialog.dismiss(); 
     // updating UI from Background Thread 
     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       Toast.makeText(getApplicationContext(), 
         "Status tweeted successfully", Toast.LENGTH_SHORT) 
         .show(); 
       // Clearing EditText field 
       txtUpdate.setText(""); 
      } 
     }); 
    } 

} 

請幫助我。自從幾天後我發現這一點,我知道我已經問過這個問題,但我沒有得到任何合適的解決方案,謝謝。

+0

我我遭受了同樣的痛苦,但我發現了一個很奇怪的解決方案當我把'CallbackURL'放在'Twitter'中的'Application Details'下時,我不能發佈tweet,但是當我用任何http:'url'填充這個'CallbackURL'時,它就起作用了。所以你可以嘗試這 –

回答

0

對於twitter,有兩個庫。

  1. Twitter4j.jar(對於文本的牆後)
  2. Twitpick.jar(用於圖片文章)

要麼你可以去SocialAuth library(管理良好且易於使用)

+0

先生我已經使用Twitter4j.jar這個libraray ..但我的消息不張貼 – rajshree

+0

嘗試socialAuth庫 –

+0

先生我得到twitter execption ..無法解析主機api.twitter.com沒有地址與主機名相關 – rajshree

相關問題