这是第一次在android中使用facebook SDK,所以在使用facebook登录我的应用程序之后!我检索了我的invitable_friends并在listView中显示它们
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/invitable_friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
try {
JSONObject object = new JSONObject(response.getRawResponse());
JSONArray array = object.getJSONArray("data");
for (int i = 0; i < array.length(); i++) {
JSONObject jsonObject = array.getJSONObject(i);
String id = jsonObject.optString("id");
String name = jsonObject.optString("name");
String url = jsonObject.optJSONObject("picture").optJSONObject("data").optString("url");
Person person = new Person(id,name,url);
person.setId(id);
person.setName(name);
person.setUrl(url);
list.add(person);
}
} catch (JSONException e) {
e.printStackTrace();
}
listView.setAdapter(new FriendsAdapter(getApplicationContext(),list));
现在我需要向我的朋友发送邀请,以便在点击时使用我的应用程序。
所以我在 OnItemClickListener
上处理 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String appLinkUrl;
appLinkUrl = "Application Link";
if (AppInviteDialog.canShow()) {
AppInviteContent content = new AppInviteContent.Builder()
.setApplinkUrl(appLinkUrl)
.build();
AppInviteDialog.show(FriendsList.this, content);
}
}
});
}
}
).executeAsync();
我跟踪流程的成功或失败
appInviteDialog = new AppInviteDialog(this);
appInviteDialog.registerCallback(callbackManager, new FacebookCallback<AppInviteDialog.Result>() {
@Override
public void onSuccess(AppInviteDialog.Result result) {
Log.d("Yehia","onSuccess result = "+ result.getData().toString());
}
@Override
public void onCancel() {}
@Override
public void onError(FacebookException e) {
Log.d("Yehia","onError message = "+ e.getMessage());
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
但不幸的是总是 onError 被调用! 我知道我有一些误解。 有谁能够帮我 ! 注意:我的链接应用程序尚未运行! 提前谢谢。
答案 0 :(得分:0)
实际上当我将它切换到v4.0.0时,我正在使用SDK v4.11.0。