让我试着清楚我想要的东西。 我有一个按钮,当我点击按钮时,我想检测设备中是否有任何活动的Twitter会话,或者我是否登录了设备中的Twitter帐户。如果我已连接,我想使用Twitter帐户,以某种方式保存我的应用程序中的会话并使用它,当我想在我的应用程序中通过Twitter分享内容而无需再次登录。
我发现的大多数示例都是从我的应用程序本身发推文,例如http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/
我只是想检测一下,如果我连接到Twitter帐户,我想在我的应用程序中使用它,并在我调用Share Intent时使用它们。
答案 0 :(得分:0)
你可以在TwitterApp.java(twitter4j)中找到这个方法
public boolean isAuthenticated() {
try {
AccessToken a = mSession.getAccessToken();
mTwitter = new TwitterFactory().getInstance();
mTwitter.setOAuthConsumer(Constants.CONSUMER_KEY,
Constants.CONSUMER_SECRET);
mTwitter.setOAuthAccessToken(a);
try {
mTwitter.getAccountSettings();
return true;
} catch (TwitterException e) {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
答案 1 :(得分:0)
获取此首选项的默认值
this.prefs = PreferenceManager.getDefaultSharedPreferences(this);
在此值的帮助下,使用isAuthenticated方法检查身份验证,如下所示
if (TwitterUtils.isAuthenticated(prefs)) {
sendTweet();
} else {
Intent i = new Intent(getApplicationContext(), PrepareRequestTokenActivity.class);
startActivity(i);
}
public static boolean isAuthenticated(SharedPreferences prefs) {
String token = prefs.getString(OAuth.OAUTH_TOKEN, "");
String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "");
AccessToken a = new AccessToken(token,secret);
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
twitter.setOAuthAccessToken(a);
try {
twitter.getAccountSettings();
return true;
} catch (TwitterException e) {
return false;
}
}