关注Instagram's video sharing Android Intent。琐碎编辑绕过选择器并直接启动Instagram。 See Gist相关代码和adb输出。
Kit Kat设备按预期工作,但是Nougat设备属于第20行,启动了Play商店,就像没有安装Instagram一样。
在两个设备上,ShareDialog的第14行startInstagram()确实提供了一个支持视频共享功能的应用程序,包括Instagram。
使用相同方法共享图像的相关代码在两个设备上都能正常工作。
更新1 :实施新的ContentProvider方法会导致Instagram在启动共享Intent时崩溃。我会测试分享视频到另一个社交网络,看看是否有效。
更新2 :结果显示Instagram并不适合
share.setDataAndType(contentUri, "video/*");
。
单独设置它们,使一切正常。
share.setType("video/*");
share.putExtra(Intent.EXTRA_STREAM, contentUri);
答案 0 :(得分:1)
那似乎是FileUriExposedException
。如果您的targetSdkVersion
为24或更高,则无法在Uri.fromFile()
或其他位置使用file
或其他Uri
Intent
值(例如{{1}在“通知”上。
使用setSound()
通过FileProvider
。
答案 1 :(得分:1)
在Android Nougat上记录您的要点上的异常会显示问题:
android.os.FileUriExposedException:file:///storage/emulated/0/test.mp4通过ClipData.Item.getUri()
暴露在app之外
在Android Nougat上,您需要使用提供商:
{{1}}