Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MessageDialog fail to share to Messenger,what's wrong? #1297

Open
5 tasks done
sanyang01 opened this issue Feb 27, 2025 · 0 comments
Open
5 tasks done

MessageDialog fail to share to Messenger,what's wrong? #1297

sanyang01 opened this issue Feb 27, 2025 · 0 comments

Comments

@sanyang01
Copy link

Checklist before submitting a bug report

Java version

java-11

Android version

API 34

Android SDK version

18.0.2

Installation platform & version

Gradle 7.2

Package

Share

Goals

Slove the problem.

Expected results

MessageDilaog can share linkUri to Messenger app

Actual results

  1. Update Messenger app to 495.2.0.64.94 version.
  2. When share to Messenger app,it callback error,message is “Unable to create Intent; this likely means theFacebook app is not installed.”。
  3. If login the facebook account,then share to Messenger app,is say ”Unable to show the provided content via the web or the installed version of the Facebook app. Some dialogs are only supported starting API 14.“

Steps to reproduce

No response

Code samples & details

// INSERT YOUR CODE HERE
    private fun checkInitFbFragment(activity: Activity){
        if (callbackManager == null){
            callbackManager = CallbackManager.Factory.create()
            fbDelegateFragment = DelegateFragment()
            fbDelegateFragment?.setOnActivityResultListener { requestCode, resultCode, data ->
                callbackManager?.onActivityResult(requestCode, resultCode, data)
                fbLogin?.onActivityResult(requestCode, resultCode, data)
            }
            activity.fragmentManager.beginTransaction().add(fbDelegateFragment, "fb-share-fragment").commitAllowingStateLoss()
            activity.fragmentManager.executePendingTransactions()
        }
    }

    fun shareToMessenger(activity: Activity, linkUrl: String?){
        if (linkUrl.isNullOrBlank()) {
            return
        }
        checkInitFbFragment(activity)
        val messageDialog = if (onFacebookShareListener == null){
            MessageDialog(activity)
        }else{
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
                onFacebookShareListener?.onError(OnFacebookShareListener.TYPE_SHARE_MESSENGER_LINK, "Facebook share to messenger link need Android 5.0 or higher.")
                return
            }
            fbDelegateFragment?.let {
                MessageDialog(it).apply {
                    this.registerCallback(callbackManager!!, FacebookShareCallback(OnFacebookShareListener.TYPE_SHARE_MESSENGER_LINK))
                }
            }
        }
        val linkContent = ShareLinkContent.Builder()
                .setContentUrl(Uri.parse(linkUrl))
                .build()
        messageDialog?.show(linkContent)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant