Launch新浪的登录界面
1. 创建一个Activity为了登录以后进行跳转的页面 这里创建AuthActivity
下边是在MainActivity.java里边的代码
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
Weibo weibo = OAuthConstant.getInstance().getWeibo();
RequestToken requestToken;
try {
requestToken =weibo.getOAuthRequestToken("Askapp://AuthActivity");
Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&from=xweibo");
OAuthConstant.getInstance().setRequestToken(requestToken);
startActivity(new Intent(Intent.ACTION_VIEW, uri));
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
有几点需要注意
1) Weibo.CONSUMER_KEY 和Weibo.CONSUMER_SECRET是你在新浪微博平台申请到的key 和 密钥,这个数值包含在weibo4android.jar里边 这个jar需要你自己下载 SDK 然后修改key和 密钥,然后export这个jar,在andriod项目里边添加引用。
2)weibo.getOAuthRequestToken("Askapp://AuthActivity");
这个Askapp://AuthActivity字符串是这样构成的
Askapp是在 mainfest里边定义的 + Activity名字
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="pk.AskMane"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="AuthActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="Askapp" android:host="AuthActivity" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
注意AuthActivity的intent里边的一些定义。
注意一定要添加<uses-permission android:name="android.permission.INTERNET" />
否则不能访问新浪微博。