Почему я не могу увидеть экран приложения, позволяющего получить доступ к фотографии на Facebook, прежде чем опубликовать изображение с помощью этого кода? - PullRequest
1 голос
/ 19 декабря 2011

В моем приложении я использую приведенный ниже код для загрузки фотографии.

Пока я удаляю приложение, переустанавливаю приложение и публикую его на Facebook, а если идентификатор faceboook новый, то он дает мнеЭкран приложения разрешить доступ.но какое-то время это не дает мне этот экран.Я не знаю, в чем проблема.

Пожалуйста, посмотрите код и дайте мне решение.Почему я не могу получить доступ к экрану приложения.Спасибо.

Код:

 // For Facebook ===================================
            Button facebookButton = (Button) saveButtonDialog.findViewById(R.id.facebook);
            facebookButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    saveButtonDialog.dismiss();

                    saveImageFunction(); // to save the Image

                    facebook.authorize(TWSBIDrawMainActivity.this, new String[]{ "user_photos,publish_checkins,publish_actions,publish_stream"},new DialogListener() {                     
                        @Override                     
                        public void onComplete(Bundle values) {   
                            postImageonWall(); 
                            Toast.makeText(getApplicationContext(), "Image Posted on Facebook.", Toast.LENGTH_SHORT).show();
                            //File f = new File(APP_FILE_PATH + "/"+filename+".jpg");
                            //f.delete();
                        }                      
                        @Override                     
                        public void onFacebookError(FacebookError error) {                     
                        }                      
                        @Override                     
                        public void onError(DialogError e) {                     
                        }                      
                        @Override                     
                        public void onCancel() {                     
                        }                 
                    }); 
                }
            });


 public void postImageonWall() {             
    byte[] data = null;               

    Bitmap bi = BitmapFactory.decodeFile(APP_FILE_PATH + "/"+filename+".jpg");
    //Bitmap bi = BitmapFactory.decodeResource(getResources(), R.drawable.icon);             
    ByteArrayOutputStream baos = new ByteArrayOutputStream();              
    bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);              
    data = baos.toByteArray();                
    Bundle params = new Bundle();              
    params.putString(Facebook.TOKEN, facebook.getAccessToken());              
    params.putString("method", "photos.upload");              
    params.putByteArray("picture", data);               
    AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);              
    mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null);       
} 

1 Ответ

1 голос
/ 19 декабря 2011

Твердое предположение: это потому, что вы разрешили это приложение (идентификатор приложения) в прошлом, поэтому вы просто входите в свою учетную запись Facebook - перейдите в свое приложение и удалите это приложение. поэтому в следующий раз он спросит.

Вы пробовали другой unm и pwd, а затем его неправильно показывали? тогда у меня нет решения прямо сейчас ... придется искать это ... но между тем вы можете сделать одну вещь, используя другой идентификатор приложения или unm / pwd, и проверить ваш код!

и затем, чтобы устранить вашу ошибку (я думаю, причина еще не возникла такая проблема) .. в то время как окно входа в систему появляется из приложения по умолчанию Facebook .. так что это все проблема происходит .. удалить это и вызовите свой собственный всплывающий диалог, см. Мой ответ здесь .

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...