我正在尝试使用Android.Chooser
从我的应用程序向其他人实现图像/视频共享。
并遇到无法将视频共享到FB-Messenger-stories
中的问题(不是在直接消息中,而是在“您的故事”中)?
我正在尝试:
val shareIntent: Intent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_STREAM, uri)
type = shareType // tried both: "video/mp4" and "video/*"
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
}
activity.startActivityForResult(Intent.createChooser(shareIntent,
activity.resources.getText(R.string.share_share_via)), SHARE_ACTIVITY_REQUEST_CODE)
AND
val shareIntent: Intent = Intent().apply {
action = Intent.ACTION_SEND
type = shareType // tried both: "video/mp4" and "video/*"
clipData = ClipData.newUri(activity.contentResolver, "some_lable", uri)
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
}
activity.startActivityForResult(Intent.createChooser(shareIntent,
activity.resources.getText(R.string.share_share_via)), SHARE_ACTIVITY_REQUEST_CODE)
它适用于照片和视频,适用于除FB-Messenger故事以外的所有地方。
如果是FB-Messenger-stories,则我的活动的结果为Cancel-resultCode
和data=null
我发现它可以在GooglePhotos应用程序中运行,并尝试比较日志。 GooglePhoto应用程序日志:
I/ActivityManager: START u0 {act=android.intent.action.SEND
typ=video/mpeg flg=0x10000001
cmp=com.facebook.orca/com.facebook.messenger.intents.MediaEditShareIntentHandler
clip={video/mpeg U:content://com.google.android.apps.photos.contentprovider/0/2/content%3A%2F%2Fmedia%2Fexternal%2Fvideo%2Fmedia%2F51803/ORIGINAL/NONE/542893024} (has extras)} from uid 10088
我的日志:
I/ActivityManager: START u0 {act=android.intent.action.SEND
typ=video/mp4 flg=0xb080001
cmp=com.facebook.orca/com.facebook.messenger.intents.MediaEditShareIntentHandler
clip={video/mp4 U:content://com.example.app.debug/posts/posts/post_1562759734301.mp4} (has extras)} from uid 10177
还尝试添加标志Intent.FLAG_RECEIVER_FOREGROUND
,因此在日志中我有flg=0x1b080001
,但结果是相同的。
请问有什么想法或建议我做错了吗?