我找不到一种在墙上发送图片的工作方式。 我的代码是我没有。
Bundle postParams = new Bundle();
postParams.putByteArray("image", byteArray);
postParams.putString("message", "A wall picture");
Session session = Session.getActiveSession();
if (session != null) {
Log.e("Session", "don t null");
Request request = new Request(session, "me/feed", postParams,
HttpMethod.POST);
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
答案 0 :(得分:0)
我从未通过手机发送图片,而是使用图片链接从服务器发送图片。我会把这段代码放在它可以帮助你的情况下,因为大部分逻辑是相似的。
final Bundle parameters = new Bundle();
parameters.putString("name", getString(R.string.app_name));
parameters.putString("caption", "haha");
parameters.putString("link", "www.google.com");
parameters.putByteArray("picture", byteArray);//I took this one from your code. My key is "picture" instead of "image"
Session.openActiveSession(this, true, new StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
new FeedDialogBuilder(EndGameActivity.this, session, parameters).build().show();
//you can try this one instead of the one above if you want, but both work well
//Request.newMeRequest(session, new Request.GraphUserCallback() {
//
// @Override
// public void onCompleted(GraphUser user, Response response) {
// final Session session = Session.getActiveSession();
// new FeedDialogBuilder(EndGameActivity.this, session, parameters).build().show();
// }
//}).executeAsync();
}
}
});
此代码仅适用于最近推出Request.newMeRequest
后的最后一个Facebook SDK 3.5,应该使用而不是Request.executeMeRequestAsync
,已被弃用。
另请注意,我使用的密钥是“图片”而不是“图片”。也许这就是你的代码的问题。
但是,当用户触摸按钮时,我会在onClick
事件中执行此操作。为什么在onCreate
方法中需要它?