2012-10-25 193 views
4

在我的應用程序中,用戶可以通過按下按鈕來發布推文。我正在使用下面的代碼:檢查用戶是否登錄了twitter

boolean found = false; 
Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("text/plain"); 
intent.putExtra(Intent.EXTRA_TEXT, "Blah blah"); 
final PackageManager pm = getPackageManager(); 
final List<?> activityList = pm.queryIntentActivities(intent, 0); 
int len = activityList.size(); 
for (int i = 0; i < len; i++) { 
    final ResolveInfo app = (ResolveInfo) activityList.get(i); 
    if ("com.twitter.android.PostActivity".equals(app.activityInfo.name)) { 
     found = true; 
     intent.addCategory(Intent.CATEGORY_LAUNCHER); 
     intent.setClassName("com.twitter.android", "com.twitter.android.PostActivity"); 
     startActivity(intent); 
     break; 
    } 
} 
if(!found) 
    showDialog(NO_APP); 

該代碼完美工作,但我想添加一個功能。當用戶沒有登錄到Twitter時,我想顯示一條消息,說他沒有登錄。截至目前,代碼只是引導用戶登錄Twitter的登錄頁面。我怎樣才能禁用這個並獲得所需的輸出?謝謝!!

+0

,一般是不錯的辦法到Android平臺。我建議你重新考慮一下。這隻會與官方Twitter客戶端合作,我們都知道有幾個更好的更有名的客戶。此外,爲什麼限制你的用戶可以分享?爲什麼不給正常的分享對話,並讓你的用戶分享他/她想要的任何社交網絡? – Budius

+0

我不想要一個普通的分享按鈕,因爲我的應用程序本身有不同的按鈕可以通過短信,Facebook,電子郵件或Twitter進行分享。每個分享方法都有一個單獨的按鈕 – Ankush

+0

,我的評論/建議是重新考慮你的方法,因爲這不是一個好方法。 – Budius

回答

1

爲此,您可以先檢查您是否擁有twitterToken和twitterTokenSecret。

試試這個way.may它有助於:)

if(twitterToken!=null && twitterTokenSecret!=null 
    && twitterToken.length()>0 && twitterTokenSecret.length()>0){ 

    //do your work 

}else{ 
    //show alert dialog 

} 
+0

我沒有使用twitter4j或任何其他twitter庫,所以我將無法使用'twittertoken'或'twitterTokenSecret' – Ankush

+0

我認爲如果您想檢查用戶是否已登錄 –

+0

@ user1696863你有沒有chk你的國旗值?(因爲我假設你想繼續你的工作在上面的code.Might是你得到錯誤的標誌值,這就是爲什麼你不能顯示警報....) – AndroidLearner