2017-04-12 1 views
-1

Android 앱에 Facebook Share 버튼이 있습니다. ImageButton 또는 ImageView onClick과 함께 사용하면 디버그 모드에서 완벽하게 작동합니다. 그러나 APK Build는 릴리스 유형으로 실패했습니다.Android 앱에서 com.facebook.share.widget.ShareButton을 사용할 수 없습니다.

Stackoverflow Question 덕분에이 문제가 해결되었지만 FB Share 버튼을 사용할 수 없게되었습니다.

여기에 몇 가지 답변으로 알려지지 만 여전히 작동하지 않는 아래 코드를 추가하려고 시도했습니다.

shareButton.setShareContent(linkContent); 

다음은 어디에서 onClick 함수를 호출할까요?

<com.facebook.share.widget.ShareButton 
    android:id="@+id/imgFBShare" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/lblChangePasswordTitle" 
    android:layout_alignEnd="@+id/scrollView2" 
    android:layout_marginBottom="12dp" 
    android:onClick="shareFB" 
    app:srcCompat="@drawable/com_facebook_button_icon_blue" /> 

아래는 내 onClick "shareFB"코드입니다.

public void shareFB (View view) { 
     callbackManager = CallbackManager.Factory.create(); 

     List<String> permissionNeeds = Arrays.asList("publish_actions"); 

     //this loginManager helps you eliminate adding a LoginButton to your UI 
     loginManager = LoginManager.getInstance(); 

     loginManager.logInWithPublishPermissions(this, permissionNeeds); 

     if (ShareDialog.canShow(ShareLinkContent.class)) { 
      Bitmap image = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher); 
      Uri imageUri = Uri.parse(main_image_url); 

      ShareButton shareButton = (ShareButton) findViewById(R.id.imgFBShare); 

      ShareLinkContent linkContent = new ShareLinkContent.Builder() 
        .setContentTitle(short_headline) 
        .setContentDescription(
          short_description) 
        .setContentUrl(Uri.parse("http://mywebsite.com/android-app-download/")) 
        .setImageUrl(imageUri) 
        .build(); 

      shareButton.setShareContent(linkContent); 

      shareDialog.show(linkContent); 
     } 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int responseCode, Intent data) 
    { 
     super.onActivityResult(requestCode, responseCode, data); 
     callbackManager.onActivityResult(requestCode, responseCode, data); 
    } 

나는 무엇이 있습니까?

답변

0

모든 단일 정보를 자세하게 살펴본 후 필자는 두 가지 간단한 단계를 통해 해결책을 찾아 냈습니다. 내 Activity.xml에서

  1. 대신 <com.facebook.share.widget.ShareButton, 나는 <ImageView에 복귀했다. 이것은 자신의 이미지를 정의 할 수있는 유연성을 제공합니다. 내 shareFB에서
  2. 나는 ShareButton shareButton = (ShareButton) findViewById(R.id.imgFBShare);

지금은 완벽하게 잘 작동 shareButton.setShareContent(linkContent);를 제거!

관련 문제