← 返回目录

使用twitter app原生接口登录(Native)

发布时间: 2013-05-02 20:44:11
浏览量: 6378
/**  * 这个方法来自反编译的结果, 包括调用的activity和返回的结果的key值, 官方开发没有提及,稳定性没有保证.  * 直接像facebook的sdk一样,跨进程调用twitter官方app的AuthorizeAppActivity,由app进行授权和进行x_auth_reverse得到access_token和token_secret.  *   * @retur

/**
  * 这个方法来自反编译的结果, 包括调用的activity和返回的结果的key值, 官方开发没有提及,稳定性没有保证.
  * 直接像facebook的sdk一样,跨进程调用twitter官方app的AuthorizeAppActivity,由app进行授权和进行x_auth_reverse得到access_token和token_secret.
  * 
  * @return
  */
 private boolean  loginByTwitterApp()
 {
  
  ComponentName ns = new ComponentName
    ("com.twitter.android", "com.twitter.android.AuthorizeAppActivity");
      
  Intent it = new Intent();
  it.setComponent(ns);
  ResolveInfo resolveInfo = getApplicationContext().getPackageManager().resolveActivity(it, 0);
        if (resolveInfo == null) {
            return false;
        }
    it.putExtra("ck", AVC.twitter_consumerKey);
  it.putExtra("cs", AVC.twitter_consumerSecret);
  startActivityForResult(it, TWITTER_APP_AUTH_REQUEST_CODE);  
  return true;
 }
 
 
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
  if(requestCode==TWITTER_APP_AUTH_REQUEST_CODE)
  {
   if(data!=null && resultCode!=0)
   {
    Bundle bd = data.getExtras();
    Log.d("TWITTER LOGIN", "get twitter login resultCode"+resultCode + "xx " 
    + bd + ": " + bd.get("screen_name") + ":" +  bd.get("user_id")
    + bd + ": " + bd.get("ts") + ":" +  bd.get("tk"));
    
    return;
   }
   
   finish();
   return;
  }
  super.onActivityResult(requestCode, resultCode, data);
 }