2016-12-01 3 views
1

У меня есть путь к видеофайлу и вы хотите поделиться видео в социальных сетях, но не можете поделиться видео. Я пытаюсь выполнить код в Android Studio 2.2, но он не работает.Android: Share намерение не работает для пути к файлу видео

Фрагмент кода:

public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button shareBtn = (Button) findViewById(R.id.sharebutton); 

    shareBtn .setOnClickListener(
      new Button.OnClickListener() { 
       public void onClick(View v) { 

        File f = new File("/sdcard/VID_20161201123613.mp4"); 
        Uri uriPath = Uri.parse(f.getPath()); 

        Intent shareIntent = new Intent(); 
        shareIntent.setAction(Intent.ACTION_SEND); 
        shareIntent.putExtra(Intent.EXTRA_TEXT, "Text");     
        shareIntent.putExtra(Intent.EXTRA_STREAM, uriPath); 
        shareIntent.setType("video/*"); 
        shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
        startActivity(Intent.createChooser(shareIntent, "send")); 

       } 
      } 
    ); 
} 
+0

U хотите показать список для общего доступа –

ответ

1

Попробуйте:

public void shareVideo(final String title, String path) { 

MediaScannerConnection.scanFile(getActivity(), new String[] { path }, 

      null, new MediaScannerConnection.OnScanCompletedListener() { 
       public void onScanCompleted(String path, Uri uri) { 
        Intent shareIntent = new Intent(
          android.content.Intent.ACTION_SEND); 
        shareIntent.setType("video/*"); 
        shareIntent.putExtra(
          android.content.Intent.EXTRA_SUBJECT, title); 
        shareIntent.putExtra(
          android.content.Intent.EXTRA_TITLE, title); 
        shareIntent.putExtra(Intent.EXTRA_STREAM, uri); 
        shareIntent 
          .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 
        context.startActivity(Intent.createChooser(shareIntent, 
          getString(R.string.str_share_this_video))); 

       } 
      }); 
} 
+1

Он дает ошибку при совместном использовании WhatsApp - Формат файла не поддерживается и для Gmail - Не удается подключить emp файл. – SRK

+0

какой тип видео вы хотите поделиться? –

+0

http://www.androidcode.ninja/android-share-intent-example/ проверьте эту ссылку именно то, что вы хотите –

1

использовать этот код для забрать в видео с SD-карты затем отправить электронную почту с видео ....

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
    sendIntent.setType("video/3gp"); 
    sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Video"); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://sdcard/dcim/Camera/filename.3gp")); 
    sendIntent.putExtra(Intent.EXTRA_TEXT, "Enjoy the Video"); 
    startActivity(Intent.createChooser(sendIntent, "Email:"));