确认Twitter应用已在Android上登录

W0l*_*lf7 7 android android-intent android-twitter

我正在开发的应用程序启动官方Twitter应用程序新帖子屏幕,以便用户可以在意图中添加一些额外文本发布推文.我已经很好地工作了,但是如果用户没有使用Twitter应用程序登录,事情会有点混乱.该应用程序启动但用户必须登录,一旦他们完成了正常的推特屏幕出现,如果他们使用后退按钮返回我的应用程序,新的帖子屏幕实际上显示在回到Twitter提供屏幕后.

在尝试运行意图之前,有什么方法可以检查用户是否实际登录了Twitter应用程序?

Hus*_*ain 0

尝试这个函数,它会依次返回 true 或 false。

True : 已登录
False : 未登录

twitter.getAuthorization()如果没有登录,函数会抛出一个错误,通过处理这个你可以知道用户之前是否登录过。

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);


      try {
      twitter.getAuthorization();
      return true;
      } catch (Exception e) {
      return false;
      }
}
Run Code Online (Sandbox Code Playgroud)