2017-04-05 2 views
0

Unser Video-Hosting-Portal ermöglicht Nutzern das Hochladen und Verdienen von Videos basierend auf den Ansichten, die sie erhalten. Wir haben kürzlich eine Android-App gestartet und versucht, die Share-Schaltfläche in jedes Video zu integrieren. Hier ist der Code, was wirVideo von der Android-App teilen

Intent intent = new Intent(); 
        try { 

         URL url = new URL("https://www.clipsnow.com/videos/images/thumbnails/230/10493.jpg"); 
         Bitmap image = BitmapFactory.decodeStream(url.openConnection().getInputStream()); 
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

         intent.setAction(Intent.ACTION_SEND); 
         intent.setData(Uri.parse("https://www.clipsnow.com")); 

         intent.putExtra(Intent.EXTRA_TEXT,msg); 

         intent.setType("text/plain"); 
         intent.putExtra(Intent.EXTRA_STREAM, getImageUri(v.getContext(), image)); 


         intent.setType("image/*"); 
         intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
         v.getContext().startActivity(Intent.createChooser(intent, "Share Video")); 

        } catch (Exception e) { 
         e.printStackTrace(); 
        } 

platziert haben, wenn wir jedes Video mit diesem teilen, nur ein Bild geteilt wird immer zusammen mit dem Videotitel. Aber wir müssen die Video-URL teilen und wenn Nutzer auf die URL tippen, wird der Nutzer zu unserer App weitergeleitet.

Wie können wir das tun?

Antwort

0

Sie sollten zuerst Video herunterladen. Dann können Sie mit ACTION_SEND teilen.

 String path = ""; //should be local path of downloaded video 

     ContentValues content = new ContentValues(4); 
     content.put(MediaStore.Video.VideoColumns.DATE_ADDED, 
       System.currentTimeMillis()/1000); 
     content.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4"); 
     content.put(MediaStore.Video.Media.DATA, path); 

     ContentResolver resolver = getApplicationContext().getContentResolver(); 
     Uri uri = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, content); 

     Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
     sharingIntent.setType("video/*"); 
     sharingIntent.putExtra(Intent.EXTRA_SUBJECT, "Hey this is the video subject"); 
     sharingIntent.putExtra(Intent.EXTRA_TEXT, "Hey this is the video text"); 
     sharingIntent.putExtra(Intent.EXTRA_STREAM,uri); 
     startActivity(Intent.createChooser(sharingIntent,"Share Video"); 
+0

Wir möchten nicht, dass der Benutzer das Video in lokalen Speicher herunterladen. Wenn wir ein Video von YouTube über WhatsApp teilen, teilt es dem Empfänger ein Thumbnail-Bild, einen Videotitel und eine Video-URL mit. Wir möchten die gleiche Art von Implementierung für unsere App. – aswarth

+0

@aswarth das ist das andere Zeug. Sie sollten eine Post/Video-Detailseite erstellen und HTML-Tags dafür festlegen. Bitte überprüfen Sie http://StackOverflow.com/a/35785393/1923925 auch diese http://StackOverflow.com/questions/19778620/provide-a-picture-for-whatsapp-link-sharing – iravul

0

Das hat mit mir funktioniert. Versuche es!

Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
sharingIntent.setType("video/mp4"); 
File fileToShare = new File("storage/path/to/my_video.mp4"); 
Uri uri = Uri.fromFile(fileToShare); 
sharingIntent.putExtra(Intent.EXTRA_STREAM, uri); 
startActivity(Intent.createChooser(sharingIntent, "Share Video!"));