Facebook Share video Exception "ShareVideo debe hacer referencia a un video que está en el dispositivo" en Android

Estoy usando Facebook Android sdk 4.6.0 través de Gradle.

Estoy intentando cargar el vídeo del directorio móvil después de configurar facebook según el compartir en guidenline de Facebook , pero estoy consiguiendo la excepción "ShareVideo debe referenciar un vídeo que esté en el dispositivo" después de sharedialog.show llamado. La excepción se me informa por callback en `onError (excepción de FacebookException).

 /**first checking if file exist than execute code, file exits and code execute but after executing callback with exception "Share Video must reference a video that is on the device" occurs **/ private void shareOnFacebook() { File dir = new File(Environment.getExternalStorageDirectory(), "directory"); File video = new File(dir, "Video.mp4"); if (video.exists()) {//if video file exist Uri videoFileUri = Uri.parse(video.getPath()); ShareVideo sv = new ShareVideo.Builder() .setLocalUrl(videoFileUri) .build(); ShareVideoContent content = new ShareVideoContent.Builder() .setVideo(sv) .build(); shareDialog.show(content); //show facebook sharing screen with video } } 

La excepción se lanza aquí: https://github.com/facebook/facebook-android-sdk/blob/master/facebook/src/com/facebook/share/internal/ShareContentValidation.java ;

  if (!Utility.isContentUri(localUri) && !Utility.isFileUri(localUri)) { throw new FacebookException("ShareVideo must reference a video that is on the device");} public static boolean isContentUri(final Uri uri) { return (uri != null) && ("content".equalsIgnoreCase(uri.getScheme())); } public static boolean isFileUri(final Uri uri) { return (uri != null) && ("file".equalsIgnoreCase(uri.getScheme())); } 

Como puedes ver, el sdk de la parte del fb está comprobando si uri tiene un esquema. En su caso, al crear uri de video.getPath, el esquema es nulo. Lo que debe hacer es crear uri desde un archivo de vídeo:

Uri videoFileUri = Uri.fromFile (video);

  • Cómo usar Action_view intención de publicar en la pared de facebook?
  • Cómo enviar solicitudes de aplicaciones a amigos a través de Facebook Android SDK
  • Android Studio 1.1.0 Facebook SDK Inicio de sesión
  • No puede acceder a la pestaña facebook app / fan page en el navegador móvil
  • Averigua si la aplicación está instalada
  • Publicar en pared FB Utilizar SDK 3.0
  • Notificación de empuje no mostrada al usuario para la función APPINVITE en Facebook SDK para Android
  • Facebook Login / Google Login - ¿La misma actividad?
  • Fb: // profile / {userid} parece no estar funcionando
  • ClassNotFoundException con Parse y Facebook
  • Facebook "Messenger" tiene un SMS Broadcast Receiver que tiene la máxima prioridad después de reiniciar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.