除了 URL SCHEME,使用基于 SDK 的功能更简单。但它可能不是你想要的答案。
备注:以下信息基于facebook-android SDK 2.0(3.0现已可用)
运行授权功能后(登录部分)(以下是facebook文档中的示例代码)
facebook.authorize(this, new String[] {}, new DialogListener() {
@Override
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
为了获取访问令牌,只需在 SDK 2.0 中运行以下函数
String access_token=facebook.getAccessToken();
对于用户 ID
public String GetUserID(){
Bundle params = new Bundle();
params.putString("fields", "id");
String resp= "";
try {
resp = facebook.request("me", params, "GET");//call the request function in SDK 2.0, using graph api
} catch (FileNotFoundException e) {
} catch (MalformedURLException e) {
} catch (IOException e) {
}
try{
resp = new JSONObject(resp).getString("id");
}catch(JSONException e1){
}
}
return resp;
};
我认为这些是获得结果的最简单方法,但不使用 URL SCHEME。
我希望它可以帮助你。