2012-10-18 75 views
1

您好,我必須爲我的應用做一個twitter Oauth。 我用它做過:Twitter的Oauth for Android在瀏覽器上工作,但不在Twitter上應用

CALLBACK_URL =「twitter:// twitterTraficoCCS?」

清單

<activity 
     android:name=".TwitterLogin" 
     android:launchMode="singleInstance" > 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 

      <data android:host="twitterTraficoCCS" android:scheme="twitter" /> 
     </intent-filter> 
    </activity> 

現在..在代碼

String authUrl = httpOauthprovider.retrieveRequestToken(httpOauthConsumer, mActivity.getResources().getString(R.string.TwitterCallBackUrl)); 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl))); 

有了:

httpOauthConsumer = new CommonsHttpOAuthConsumer(TwitterConsumerKey, TwitterConsumerSecret)); 
     httpOauthprovider = new DefaultOAuthProvider("http://twitter.com/oauth/request_token", "http://twitter.com/oauth/access_token", "http://twitter.com/oauth/authorize"); 

這項工作就像在瀏覽器/鉻魅力,但是當我選擇TwitterApp形成它的行動菜單到Twitter應用程序,要求認證我的應用程序。我選擇確定,它說,重定向回來......並且永遠不會回電我的應用程序。

任何消耗?

在此先感謝。

編輯: 通過「Twitter的應用程序它不是做一個回調」我的意思是,它不是叫我onNewIntent()

+0

請參閱http://stackoverflow.com/questions/8994905/browser-callbacks-and-android-activity-stack-madness/12984202#12984202評論這樣做在web視圖中, d在WebViewClient中捕獲該URL。然後,您也可以更多地控制活動堆棧。 – larham1

回答

0

更改活動的推出模式singleTask在您的清單。

android:launchMode="singleTask" 

這對我來說是訣竅。希望它可以幫助:)

相關問題