android - 在 Android 上将视频和贴纸图片分享到 Instagram Story

标签 android facebook android-intent instagram instagram-api

如何将作为背景的视频和作为贴纸的图片一起分享到 Instagram 快拍?

如果内容都是图片,本文档只有一种解决方案。

https://developers.facebook.com/docs/instagram/sharing-to-stories/

我想发送背景视频和贴纸图片。 Instagram Story 可以做到这一点吗?

我试过了,但不幸的是它没有用:

   // Define image asset URI and attribution link URL
    Uri backgroundAssetUri = Uri.fromFile(new File(backgroundPath));
    Uri stickerAssetUri = Uri.fromFile(new File(stickerPath));

    // Instantiate implicit intent with ADD_TO_STORY action,
    // background asset, and attribution link
    Intent intent = new Intent("com.instagram.share.ADD_TO_STORY");
    intent.setDataAndType(backgroundAssetUri, "*/*");
    intent.putExtra("interactive_asset_uri", stickerAssetUri);
    intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

    callbackManager.startActivityForResult(Intent.createChooser(intent, "Share"), NatShareCallbacks.ACTIVITY_SHARE_INSTAGRAM_STORY);

但是带有两个图像的示例可以正常工作。我发现问题主要与 SetType 有关,因为它们是两种不同的内容类型。

[编辑]

单独没有贴纸的视频已经在 Android 上为我工作,并且带有图像背景和图像贴纸的文档示例也可以完美运行。但不能将视频和贴纸放在一起。

它在 iOS 下运行没有任何问题:

NSData *backgroundVideo = [[NSFileManager defaultManager] contentsAtPath:path];

UIImage *appIcon = [UIImage imageNamed: [[[[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIcons"] objectForKey:@"CFBundlePrimaryIcon"] objectForKey:@"CFBundleIconFiles"]  objectAtIndex:0]];

// Verify app can open custom URL scheme, open
NSURL *urlScheme = [NSURL URLWithString:@"instagram-stories://share"];
if ([[UIApplication sharedApplication] canOpenURL:urlScheme]) {
    // Assign background image asset and attribution link URL to pasteboard
    //NSArray *pasteboardItems = @[@{@"com.instagram.sharedSticker.backgroundVideo" : backgroundVideo}];
    NSArray *pasteboardItems = @[@{@"com.instagram.sharedSticker.backgroundVideo" : backgroundVideo, @"com.instagram.sharedSticker.stickerImage" : UIImagePNGRepresentation(appIcon)}];
    NSDictionary *pasteboardOptions = @{UIPasteboardOptionExpirationDate : [[NSDate date] dateByAddingTimeInterval:60 * 5]};
    // This call is iOS 10+, can use 'setItems' depending on what versions you support
    [[UIPasteboard generalPasteboard] setItems:pasteboardItems options:pasteboardOptions]; [[UIApplication sharedApplication] openURL:urlScheme options:@{} completionHandler:nil];
} else {
    // Handle older app versions or app not installed case

}

最佳答案

这是一个错误。

Facebook 写道: “他们现在也已将此功能添加到 Android,因此您现在应该可以发送带有贴纸的背景。”

关于android - 在 Android 上将视频和贴纸图片分享到 Instagram Story,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53596982/

相关文章:

android - 单击通知时检查 Activity 是否在屏幕上?(使用 Intent)

python - Facebook Prophet - 物流增长中的 `k initialized to invalid value (-nan)`

android 小键盘点击按钮

java - 按钮对 Wear OS 应用程序中的任何事件没有反应

android - Flutter AndroidManifest 错误

android - 社交登录在 Android 浏览器应用程序中不起作用

javascript - 通过 JavaScript 发送 Facebook 聊天消息

android - 如何创建打开调用日志 Activity 的 Intent?

android - 如何从 ACTION_SEND 获取 URL?

java - Android - 在 5 个 Activity 之间切换并保留第一个 Activity 的状态