0

Android アプリケーションで URI イメージを facebook に共有しようとしています。画像パラメーターを使用すると、画像の URL を使用することが強制されます。携帯電話ギャラリーから共有しようとしているので、URI を URL のように読み取る方法、またはこれを行う他の方法があるかどうか疑問に思っていました。助言がありますか?

更新:使用しようとしているコードを追加して、これを更新しました。Facebook の新しく展開された API を使用していないことを理解しています。URLからの写真ではなく、電話ギャラリーからFacebookに写真を投稿できるようにしたいだけです。ありがとうございました!

private String[] arrPath;
int id = viewIt.getId();
if(facebook.isSessionValid()) {
                                        Bundle params = new Bundle();
                                        params.putString("name", "AndroidApp");
                                        params.putString("caption", "Application for Android");
                                        params.putString("description", "This is a description");
                                        params.putString("link", "http://www.google.com/");
                                        params.putString("picture", "file://" + arrPath[id]);

                                        facebook.dialog(AndroidClass.this, "feed", params, new DialogListener() {

                                            @Override
                                            public void onFacebookError(FacebookError e) {
                                                // TODO Auto-generated method stub

                                            }

                                            @Override
                                            public void onError(DialogError e) {
                                                // TODO Auto-generated method stub

                                            }

                                            @Override
                                            public void onComplete(Bundle values) {
                                                // TODO Auto-generated method stub

                                            }

                                            @Override
                                            public void onCancel() {
                                                // TODO Auto-generated method stub

                                            }
                                        });
                                    }else {
                                        facebook.authorize(AndroidClass.this, new String[] {"email", "publish_stream"}, new DialogListener() {

                                            @Override
                                            public void onFacebookError(FacebookError e) {
                                                // TODO Auto-generated method stub
                                                Toast.makeText(AndroidClass.this, "fberror", Toast.LENGTH_SHORT).show();
                                            }

                                            @Override
                                            public void onError(DialogError e) {
                                                // TODO Auto-generated method stub
                                                Toast.makeText(AndroidClass.this, "onError", Toast.LENGTH_SHORT).show();
                                            }

                                            @Override
                                            public void onComplete(Bundle values) {
                                                // TODO Auto-generated method stub
                                                Editor editor = sp.edit();
                                                editor.putString("access_token", facebook.getAccessToken());
                                                editor.putLong("access_expires", facebook.getAccessExpires()); 
                                                editor.commit();

                                            }

                                            @Override
                                            public void onCancel() {
                                                // TODO Auto-generated method stub
                                                Toast.makeText(AndroidClass.this, "onCancel", Toast.LENGTH_SHORT).show();

                                            }
                                        });
                                    }
                                }

                            });
4

1 に答える 1