跟踪Instagram的视频分享Android的意图。简单的编辑可以绕过选择器,直接启动Instagram。见Gist的相关代码和亚行输出。
Kit Kat设备按预期工作,但是本体设备落入Line#20,启动Play Store,就好像Instagram没有安装一样。
在这两款设备上,ShareDialog的Line#14的startInstagram()都提供了视频共享功能应用的选择,包括Instagram。
使用相同方法共享图像的相关代码在这两种设备上都能正常工作。
更新1:实现新的ContentProvider方法会使Instagram在启动共享意图时崩溃。我将测试将视频分享到另一个社交网络,看看这是否有效。
更新2:原来Instagram对
share.setDataAndType(contentUri, "video/*");。
把它们分开放置,把所有的东西都安排好。
share.setType("video/*"); share.putExtra(Intent.EXTRA_STREAM, contentUri);
发布于 2016-11-17 19:23:31
在Android上记录gist上的异常会发现问题:
file:///storage/emulated/0/test.mp4 android.os.FileUriExposedException:通过ClipData.Item.getUri()暴露于app之外的ClipData.Item.getUri
在Android上,您需要使用提供者:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Uri contentUri = FileProvider.getUriForFile(getContext(), "com.your.package.fileProvider", newFile);
intent.setDataAndType(contentUri, type);
}发布于 2016-11-17 19:22:49
这似乎是一个FileUriExposedException。如果您的targetSdkVersion是24或更高,则不能在Intent或其他地方使用Uri.fromFile()或其他file Uri值(例如,“通知”上的setSound() )。
使用FileProvider通过ContentProvider提供文件。
https://stackoverflow.com/questions/40662994
复制相似问题