Facebook API - 分享活动

时间:2017-03-09 02:24:57

标签: android facebook

美好的一天!

我目前正在开发一个安全应用程序,一旦激活,将自动获取GPS,通过短信发送,拍照,然后通过Facebook分享。我能够做一个简单的分享活动,但我没有自动化Facebook共享,而没有显示帖子的预览。发布的内容将由用户输入,因此它不会违反Facebook API规定。我知道这是可能的,因为一些手机游戏实现它们。任何形式的帮助都将受到极大的赞赏!

1 个答案:

答案 0 :(得分:1)

我已经在几天前实现了这样......

imageview_fbshare.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if(Util.isDeviceOnline(MainActivity.this)) {
                Util.showProDialog(MainActivity.this,"Please wait....");

            LoginManager.getInstance().logInWithPublishPermissions(
                    MainActivity.this,
                    Arrays.asList("publish_actions"));
                ByteArrayOutputStream stream = new ByteArrayOutputStream();
                lastimage.compress(Bitmap.CompressFormat.PNG, 100, stream);
                byte[] byteArray = stream.toByteArray();
                Bundle params = new Bundle();
                // params.putString("caption", etxt_status.getText().toString());
                //params.putString("place", user_loc_id);
                //params.putString("tags", ids);
                params.putByteArray("picture", byteArray);

                new GraphRequest(
                        AccessToken.getCurrentAccessToken(),
                        "/" + user_id + "/photos",
                        params,
                        HttpMethod.POST,
                        new GraphRequest.Callback() {
                            public void onCompleted(GraphResponse response) {
                                //new getPlaceId().execute();
                                JSONObject o = response.getJSONObject();
                                try {
                                    String user_status_id = o.getString("id");

                                } catch (Exception ex) {

                                }

                                Util.dimissProDialog();


                            }
                        }
                ).executeAsync();
            }
            else {
                Toast.makeText(MainActivity.this,"OOps! Network Connection Error",Toast.LENGTH_LONG).show();
            }
        }
    });