通过意图与Viber和Line等应用程序进行视频共享会导致错误

时间:2014-11-02 21:56:39

标签: java android android-intent

我想通过以下代码在我的应用中分享视频文件:

     Intent share = new Intent(Intent.ACTION_SEND);
     Uri uri = Uri.fromFile(path);
     share.putExtra(Intent.EXTRA_STREAM, uri);
     share.setType("video/*");
     context.startActivity(Intent.createChooser(share, "Share video using"));

它的工作原理和共享窗口打开,但是像Viber和Line i这样的应用程序会出错! Viber说“所选文件不受支持或似乎已损坏”。但是,例如WhatsApp可以成功分享视频。

它与视频格式无关,因为相同的视频可以从Gallery App共享给所有其他应用程序,如Viber,Line和...

我如何解决这个问题?还有其他一些东西可以补充我的意图,像Viber这样的应用程序可以将其检测为有价值的解析信息吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我通过在视频字符串路径中添加以下前缀来实现它:'content:// media' 因此,您的代码应该类似于:

Intent share = new Intent(Intent.ACTION_SEND);
Uri uri = Uri.fromFile("content://media" + path);
share.putExtra(Intent.EXTRA_STREAM, uri);
share.setType("video/*");
context.startActivity(Intent.createChooser(share, "Share video using"));

我希望这可以帮助你,因为它为我做了诀窍。