2016-12-28 27 views
0

Xamarin.AndroidプロジェクトでXam.Plugin.Mediaを使用して写真を撮っています 事前に写真が保存されていることを知りたいです Thereそれを知る方法は何ですか? >CreateMediaIntent - - ソースコードXam.Plugin.MediaXam.Plugin.Media in xamarin.android

TakePhotoAsync従うことにより

答えて

0

>MediaPickerActivity.GetOutputMediaFile

をデフォルトのディレクトリを見つけることができます。

var directory = saveToAlbum ? Environment.GetExternalStoragePublicDirectory(mediaType) : context.GetExternalFilesDir(mediaType);

ので、プラグインがちょうど牽引種類を提供1つはGetExternalStoragePublicDirectory、もう1つはGetExternalFilesDirです。デフォルトではsaveToAlbumはfalseで、data/media/Android/data/your.package.name /ファイル/に保存されます。 saveToAlbumが真の場合、写真はDCIMフォルダに保存されます。

テストAndorid 6.0に次のコード:フォルダここで私が事前に知りたい

enter image description here

を:あなたはtest.jpgがここに格納されて見つけることができます

takePhoto = FindViewById<Button>(Resource.Id.takephoto); 
takePhoto.Click += async (sender, args) => 
{ 
    await CrossMedia.Current.Initialize(); 

    if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) 
    { 
     return; 
    } 
    var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions 
    { 
     Directory = "Sample", 
     Name = "test.jpg" 
    }); 
    if (file == null) 
      return; 
}; 

写真が保存されます

T彼はプラグインがvar directoryを得ることができるインターフェイスを提供しません。したがって、事前にコーディングしてパスを取得することはできません。

関連する問題