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).
- ¿Cómo crear Android Key Hash de Facebook?
- Android Facebookdialog desaparecer al instante
- Cómo obtener correo electrónico de usuario en GraphRequest.newMeRequest
- Android: ¿Cuál es la clase de diálogo compartido en Facebook SDK 4.x
- Facebook SDK para la descarga de Android siempre falla
/**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 } }
- ¿El facebook para Android usa https?
- Inicia sesión con Facebook si la cuenta ya está vinculada con google durante la suscripción inicial en Firebase Android
- Abrir página en Facebook, Twitter y Google Plus desde otra aplicación - Android
- Android: Cómo compartir vídeos en la página de Facebook con Facebook SDK
- Dificultad para importar el facebook-android-sdk en eclipse
- Facebook Messenger API - Menú persistente no funciona en el móvil
- Android - Cómo subir fotos de la tarjeta SD a la pared de Facebook
- Publicar en la pared de amigos con Android FB SDK.
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);
- ViewPager parece reenable clipChildren al desplazarse si se configura PageTransformer
- TEXTVIEW sustanciación ubicación