Instagram分享(通过调研后整合的技术分享-Android端)

文章目录

  • 使用条件
  • 使用方式
    • 分享文本
    • 分享图片
    • 分享图片(动态/快拍)
    • 分享视频
    • 分享视频(动态/快拍)

使用条件

  1. 官方地址:https://developers.facebook.com/docs/instagram/sharing-to-feed?locale=zh_CN。
  2. 由于使用的是Intent调起Instagram,使用前需要检查是否安装了Instagram app。
  3. Instagram包名:
    • 通用包名:“com.instagram.android”
    • 分享到快拍:“com.instagram.share.ADD_TO_STORY”
    • 分享到动态:“com.instagram.share.ADD_TO_FEED”
  4. 6.0 申请读写权限
  5. 7.0 在 AndroidManifest.xml 中配置 provider

使用方式

分享文本

// 也可分享动态或快拍,可以自行处理,这里不做展示
try {Intent shareIntent = new Intent();shareIntent.setAction(Intent.ACTION_SEND);shareIntent.setType("text/plain");shareIntent.putExtra(Intent.EXTRA_TEXT, content);shareIntent.setPackage(“com.instagram.android”);activity.startActivity(shareIntent);
} catch (Exception e) {e.printStackTrace();
}

分享图片

// imagePath为图片存在的本地路径
// 默认调起跳转ins页面的选择器
try {File imageFile = new File(imagePath);if (!imageFile.exists())return;Intent shareIntent = new Intent();shareIntent.setAction(Intent.ACTION_SEND);shareIntent.setType("image/*");Uri uri;if (Build.VERSION.SDK_INT >= 24) {uri = FileProvider.getUriForFile(activity.getApplicationContext(), activity.getPackageName() + ".fileprovider", imageFile);} else {uri = Uri.fromFile(imageFile);}shareIntent.putExtra(Intent.EXTRA_STREAM, uri);shareIntent.setPackage(“com.instagram.android”);activity.startActivity(shareIntent);
} catch (Exception e) {e.printStackTrace();
}

分享图片(动态/快拍)

// imagePath为图片存在的本地路径
try {File imageFile = new File(imagePath);if (!imageFile.exists())return;Uri uri;if (Build.VERSION.SDK_INT >= 24) {uri = FileProvider.getUriForFile(activity.getApplicationContext(), activity.getPackageName() + ".fileprovider", imageFile);} else {uri = Uri.fromFile(imageFile);}Intent shareIntent = null;// 调起ins动态// shareIntent = new Intent(“com.instagram.share.ADD_TO_FEED”);// 调起ins快拍// shareIntent = new Intent(“com.instagram.share.ADD_TO_STORY”);if (shareIntent == null) return;shareIntent.setPackage(“com.instagram.android”);shareIntent.setDataAndType(uri, "image/*");shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);shareIntent.putExtra(Intent.EXTRA_STREAM, uri);activity.startActivity(shareIntent);
} catch (Exception e) {e.printStackTrace();
}

分享视频

// videoPath为视频存在的本地路径
// 默认调起跳转ins页面的选择器
try {File videoFile = new File(videoPath);if (!videoFile.exists())return;Intent shareIntent = new Intent();shareIntent.setAction(Intent.ACTION_SEND);shareIntent.setType("video/*");Uri uri;if (Build.VERSION.SDK_INT >= 24) {uri = FileProvider.getUriForFile(activity.getApplicationContext(), activity.getPackageName() + ".fileprovider", videoFile);} else {uri = Uri.fromFile(videoFile);}shareIntent.putExtra(Intent.EXTRA_STREAM, uri);shareIntent.setPackage(“com.instagram.android”);activity.startActivity(shareIntent);
} catch (Exception e) {e.printStackTrace();
}

分享视频(动态/快拍)

// videoPath为视频存在的本地路径
try {File videoFile = new File(videoPath);if (!videoFile.exists())return;Uri uri;if (Build.VERSION.SDK_INT >= 24) {uri = FileProvider.getUriForFile(activity.getApplicationContext(), activity.getPackageName() + ".fileprovider", videoFile);} else {uri = Uri.fromFile(videoFile);}Intent shareIntent = null;// 调起ins动态// shareIntent = new Intent(“com.instagram.share.ADD_TO_FEED”);// 调起ins快拍// shareIntent = new Intent(“com.instagram.share.ADD_TO_STORY”);if (shareIntent == null) return;shareIntent.setPackage(“com.instagram.android”);shareIntent.setDataAndType(uri, "video/*");shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);shareIntent.putExtra(Intent.EXTRA_STREAM, uri);activity.startActivity(shareIntent);
} catch (Exception e) {e.printStackTrace();
}

由于是第一次写博客,排版或技术上还不够成熟,如有疑问或指导之处,请多多指教。

Instagram分享(文本/图片/视频)相关推荐

  1. 如何将文本 , 图片 , 视频转换为二维码

    插件: qrcode yarn add qrcode 导入import Qrcode from 'qrcode' 定义一个canvas标签    <canvas ref="canvas ...

  2. 4 文件操作 支持图片 视频 mp3 文本等

    #文件操作:send_file,支持图片 视频 mp3 文本等@app.route("/img")def img(): return send_file("1.jpg&q ...

  3. 不使用插件,小程序也能完整的渲染富文本(视频展现,图片自适应)

    用过小程序rict-text的帅哥靓女们(说的就是正在看文章的你)都知道,rich-text是无法解析富文本中的video标签的,本文教你如何优雅的在不使用插件的情况下完整的渲染富文本 首先是富文本图 ...

  4. iOS - ShareSDK第三方分享(图文和视频)和登录

    由于近期工作需要自己抽时间搞了一下第三方分享,这里使用的是shareSDK的第三方,在使用的过程中有一些心得和体会,特在此和大家分享一下~ 1.在经过将近一周时间的开发,终于搞定ios分享了. 2.由 ...

  5. QQ内测“小世界”主打图片/视频社交工具,能留住年轻人吗?

    你有多久没打开QQ了? 或者说,你有多久没有添加新的QQ好友了?在工作生活日益繁忙的今天,买皮肤,逛QQ空间,玩农场游戏似乎是个很遥远的事情了.在我们感叹不再年轻的时候,其实陪伴着我们的腾讯 QQ也步 ...

  6. 鸿蒙os2.0华为p30pro,华为P30和P30Pro现已全面开启EMUI11正式版升级,支持文本图片即点即译...

    根据华为官方的消息,华为 P30 和 P30 Pro 现已全面开启 EMUI 11 正式版升级.打开[服务]App-服务-升级尝鲜,开启精彩体验.仅支持手机端,[服务]App需升级到最新版本. 华为 ...

  7. 在ActionBar显示ShareActionProvider分享文本,点击可以打开进行分享(19)

    2019独角兽企业重金招聘Python工程师标准>>> //菜单menu文件夹下创建分享提供者文件 <?xml version="1.0" encoding ...

  8. TPAMI 2021 | 时间走向二维,基于文本的视频时间定位新方法兼顾速度与精度

    ©作者 | 张宋扬.彭厚文等 来源 | 机器之心 当时间的维度从一维走向二维,时序上的建模方式也需要相应的改变.本文提出了多尺度二维时间图的概念和多尺度二维时域邻近网络(MS-2D-TAN)用于解决视 ...

  9. Android实例-拍摄和分享照片、分享文本(XE8+小米2)

    结果: 1.分享文本不好使,原因不明.有大神了解的,请M我,在此十分感谢. 2.如果想支持图片编辑,将Action事件的Editable改为True. 相关资料: 官网地址:http://docwik ...

最新文章

  1. Datawhale组队学习周报(第003周)
  2. 98年建模a题论文_2019年第九届APMCM亚太地区大学生数学建模竞赛 A 题(中英版)...
  3. pygame简单的俄罗斯方块游戏和简单的打字游戏
  4. php随机生成器加密,php生成随机密码的几种方法
  5. 每日一皮:产品经理的黑化,你听过几个?
  6. jxl导入/导出excel(网上的案例)
  7. 在nlog(n)时间里对单链表排序
  8. Java JUC学习 - ConcurrentLinkedDeque 详解
  9. Java安全 – JCE (Blowfish算法报错)
  10. python支持什么循环_Python的循环
  11. 2015与2016年终总结
  12. Vue.2Vue.3项目引入Element-UI教程踩坑
  13. 卸载TeXLive2016
  14. Web前端面试指导(四):面试前准备-有备而去百战百胜
  15. mw325r 服务器无响应),新版水星(Mercury)MW325R拨不上号怎么办?【图解】
  16. 20155314 2016-2017-2 《Java程序设计》第4周学习总结
  17. 【MTK Front Camera Bringup】
  18. css中字体大小font-size的设置
  19. 运算放大器的datasheet参数介绍
  20. Hope you never grow old.

热门文章

  1. 教师资格证备考之计算机基础知识
  2. python crawler
  3. 爆款微信h5小游戏到底有什么相同点?
  4. Spark 去掉前几行 去掉表头
  5. 存储过程和函数——PL/SQL教程(七)
  6. Anaconda prompt下载模块失败解决方案
  7. 计算机应用基础名词解释数值,计算机名词解释
  8. 电量百分百亮绿灯,其余充电电量均为红灯。电量低于15闪红灯三秒一次。搜网灯没网时候绿灯快闪,有网了做呼吸灯五秒一次,呼吸灯可广播控制打开关闭。判断是否连上网。
  9. 网络摄像机(IPC)开发(1):ONVIF设备搜索
  10. 开启Scrapy爬虫之路