无法使用instagram sdk意图分享故事

问题描述 投票:0回答:1

我们正在遵循官方文档,以将故事从应用程序分享到instagram

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

[预期的行为是,当我尝试分享一个故事时,instagram应用程序的故事屏幕应打开,并带有意图发送的图像。实际行为是instagram应用无法打开,并且用户停留在同一屏幕上。

// Define image asset URI and attribution link URL
Uri backgroundAssetUri = "your-image-asset-uri-goes-here;"
String attributionLinkUrl = "https://www.my-aweseome-app.com/p/BhzbIOUBval/";

// 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, MEDIA_TYPE_JPEG);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.putExtra("content_url", attributionLinkUrl);

// Instantiate activity and verify it will resolve implicit intent
Activity activity = getActivity();
if (activity.getPackageManager().resolveActivity(intent, 0) != null) {
  activity.startActivityForResult(intent, 0);
}
android android-intent instagram
1个回答
0
投票

您可以尝试这个

private void shareToInstagram() {
path = tvSelectMedia.getText().toString().trim();
Intent intent = getPackageManager().getLaunchIntentForPackage("com.instagram.android");
if (intent != null) {
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);
    shareIntent.setPackage("com.instagram.android");
    try {
        shareIntent.putExtra(Intent.EXTRA_STREAM, uri, path, "Step Up", "Step Up")));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    shareIntent.setType("image/jpeg");
    startActivity(shareIntent);
} else {
    // bring user to the market to download the app.
    // or let them choose an app?
    intent = new Intent(Intent.ACTION_VIEW);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setData(Uri.parse("market://details?id=" + "com.instagram.android"));
    startActivity(intent);
}
}
© www.soinside.com 2019 - 2024. All rights reserved.