twitter4j-core-2.2.5.jar中的Android Twitter身份验证代码更改

twitter4j-core-2.2.5.jar中的Android Twitter身份验证代码更改,android,Android,我在一个Android应用程序中工作,它可以在Twitter上发布推文和图片。我用的是twitter4j-core-2.1.11。现在我已经升级到twitter4j-core-2.2.5.jar,因为twitter4j-core-2.1.11没有在推特时添加上传图片的属性 这是我在twitter4j-core-2.1.11中用来验证的代码 public static boolean isAuthenticated(SharedPreferences prefs) { String token

我在一个Android应用程序中工作,它可以在Twitter上发布推文和图片。我用的是twitter4j-core-2.1.11。现在我已经升级到twitter4j-core-2.2.5.jar,因为twitter4j-core-2.1.11没有在推特时添加上传图片的属性

这是我在twitter4j-core-2.1.11中用来验证的代码

public static boolean isAuthenticated(SharedPreferences prefs) {
  String token = prefs.getString(OAuth.OAUTH_TOKEN, "");
  String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "");
  AccessToken accesstoken = new AccessToken(token, secret);
  Twitter twitter = new TwitterFactory().getInstance();
  twitter.setOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
  twitter.setOAuthAccessToken(accesstoken);
  try {
    twitter.getAccountSettings();
      return true;
  } catch (TwitterException e) {
    return false;
  }
}
现在我得到一个错误:

AndroidRuntime(694):由以下原因引起:java.lang.IllegalArgumentException:无效的访问令牌格式。
是否这样做
Do like this way

    RequestToken requestToken=twitter.getOAuthRequestToken(getResources().getString(R.string.callback));
    webView.loadUrl(requestToken.getAuthenticationURL()+"&force_login=true");

webView.setWebViewClient(new WebViewClient(){
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    try {
                        if(url.startsWith(getString(R.string.callback)))
                        {
                            List<NameValuePair> list = URLEncodedUtils.parse(new URI(url), "utf-8");
                            String oauthVerifier="";
                            Iterator<NameValuePair> iter = list.iterator();
                            while (iter.hasNext()) {
                                NameValuePair param = iter.next();
                                if(param.getName().equals("oauth_verifier"))
                                {
                                    oauthVerifier = param.getValue();
                                    break;
                                }
                            }       

                            accessToken = twitter.getOAuthAccessToken(requestToken,oauthVerifier);
                            twitter.setOAuthAccessToken(accessToken);
                            setResult(1);
                            finish();
                            getAccountSettings();
                        }
                        else
                            return false;
                    } catch (Exception e) {

                        e.printStackTrace();
                        return false;
                    }
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    stopProgress();
                    super.onPageFinished(view, url);

                }
            });


private boolean getAccountSettings(){
    try {
            twitter.getAccountSettings();
            return true;
        } catch (TwitterException e) {
            return false;
        }
}
RequestToken RequestToken=twitter.getOAuthRequestToken(getResources().getString(R.string.callback)); loadUrl(requestToken.getAuthenticationURL()+“&force_login=true”); setWebViewClient(新的WebViewClient(){ @凌驾 公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){ 试一试{ if(url.startsWith(getString(R.string.callback))) { List List=URLEncodedUtils.parse(新的URI(url),“utf-8”); 字符串oauthVerifier=“”; 迭代器iter=list.Iterator(); while(iter.hasNext()){ NameValuePair param=iter.next(); if(param.getName().equals(“oauth_验证器”)) { oauthVerifier=param.getValue(); 打破 } } accessToken=twitter.getOAuthAccessToken(requestToken,oauthVerifier); setOAuthAccessToken(accessToken); 设定结果(1); 完成(); getAccountSettings(); } 其他的 返回false; }捕获(例外e){ e、 printStackTrace(); 返回false; } } @凌驾 公共void onPageFinished(WebView视图,字符串url){ stopProgress(); super.onPageFinished(视图、url); } }); 私有布尔getAccountSettings(){ 试一试{ getAccountSettings(); 返回true; }捕获(twitter异常){ 返回false; } }
你能把整个文件寄到阿伦吗。ps95@yahoo.com