package weibo4andriod.andriodexamples;
import weibo4andriod.Weibo;
import weibo4andriod.WeiboException;
import weibo4andriod.http.RequestToken;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class AndriodExample extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button beginOuathBtn= (Button) findViewById(R.id.Button01);
beginOuathBtn.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick( View v )
{
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
Weibo weibo = new Weibo();//OAuthConstant.getInstance().getWeibo();//不用单例模式,直接new,这样在按返回键重新登录时,不会报401错误了
RequestToken requestToken;
try {
requestToken =weibo.getOAuthRequestToken("weibo4andriod://OAuthActivity");
Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&display=mobile");
OAuthConstant.getInstance().setRequestToken(requestToken);
startActivity(new Intent(Intent.ACTION_VIEW, uri));
// //使用自定义webview
// Intent i=new Intent(AndriodExample.this, WebviewActivity.class);
// i.putExtra("OAuthURL", uri.toString());
// AndriodExample.this.startActivity(i);
} catch (WeiboException e) {
e.printStackTrace();
}
}
} );
}
}
在 weibo4android 里面的 demo 当第一次 授权登录的时候, 不做任何操作 直接按下 返回键,然后重新 认证 会报 401错误!
解决办法, 不适用 单例模式 new WeiBo(); 直接 自己 new 一个 WeiBo() 类.