2014-12-11 1 views
2

Я разработал приложение для Android, в котором есть кнопка Facebook, использующая Facebook SDK от андроида, как кнопка. Но когда мы нажимаем на кнопку, она показывает пустое всплывающее окно и возвращается обратно на экран. Также вроде не работает.Facebook, как кнопка показывает пустое всплывающее окно и ничего не возвращает в приложении для Android.

ниже - код.

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     //Settings.sdkInitialize(this); 

     uiHelper = new UiLifecycleHelper(this, null); 
     uiHelper.onCreate(savedInstanceState); 

     likeView = (LikeView) findViewById(R.id.like_view); 
     likeView.setObjectId("https://www.facebook.com/VehicleDocs"); 

     likeView.setLikeViewStyle(LikeView.Style.BUTTON); 
     likeView.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE); 
     likeView.setHorizontalAlignment(LikeView.HorizontalAlignment.CENTER); 

     share = (Button)findViewById(R.id.share); 
     share.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(MainActivity.this) 
       .setLink("https://www.facebook.com/rkvb") 
       .build(); 
       uiHelper.trackPendingDialogCall(shareDialog.present()); 

      } 
     }); 
} 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     // TODO Auto-generated method stub 
     super.onActivityResult(requestCode, resultCode, data); 
     // uiHelper.onActivityResult(requestCode, resultCode, data, null); 
      // if you don't use the UiLifecycleHelper, call handleOnActivityResult on the LikeView instead 
      // LikeView.handleOnActivityResult(this, requestCode, resultCode, data); 
     // Log.i("count", "OnActivityResult..."); 


      uiHelper.onActivityResult(requestCode, resultCode, data, new FacebookDialog.Callback() { 
       @Override 
       public void onError(FacebookDialog.PendingCall pendingCall, Exception error, Bundle data) { 
        Log.e("Activity", String.format("Error: %s", error.toString())); 
       } 

       @Override 
       public void onComplete(FacebookDialog.PendingCall pendingCall, Bundle data) { 
        Log.i("Activity", "Success!"); 
       } 
      }); 
} 

activity_main.xml

<com.facebook.widget.LikeView 
     android:id="@+id/like_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 

     android:layout_below="@+id/textView1" 
     android:layout_marginTop="116dp" 

     > 
    </com.facebook.widget.LikeView> 
+0

Вы используете кнопку facebook в своем xml –

+0

@GeorgeThomas Да, я отредактировал вопрос – user3288891

+1

Выполняют ли пользователи, с которыми вы тестируете, соответствующие роли в вашем приложении (Admin/Developer/Tester)? –

ответ

1

Вы используете FB учетную запись тестового пользователя для входа в приложение? Тестовые учетные записи не могут нравиться странице. У меня такая же проблема. Я перешел на использование моей фактической учетной записи FB для входа в систему, и LikeButton работал отлично!