【发布时间】:2014-09-22 22:04:22
【问题描述】:
我正在使用 Xamarin.Mobile,我能够启动并拍照。似乎无法保存图片。这是 Xamarin 在使用其 Xamarin.Mobile 组件时提供的代码。
如何在 Android 中保存 MediaFile 文件?
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Android.OS.Bundle savedInstanceState)
{
var m_View = inflater.Inflate (Resource.Layout.Feed, null);
btnCamera = m_View.FindViewById<Button> (Resource.Id.btnCamera);
btnGallery = m_View.FindViewById<Button> (Resource.Id.btnGallery);
btnCamera.Click += (sender, e) => {
//launch gallery
//allow photo editing/saving
var mediaPicker = new MediaPicker (Activity);
if (!mediaPicker.IsCameraAvailable){
//Console.WriteLine ("No Camera!");
}else {
var intent = mediaPicker.GetTakePhotoUI (new StoreCameraMediaOptions {
Name = "test.jpg",
Directory = "APPNAME"
});
StartActivityForResult(intent, 1);
}
};
btnGallery.Click += (sender, e) => {
//launch gallery
//allow photo editing/saving
};
return m_View;
}
protected virtual async void OnActivityResult (int requestCode, Result resultCode, Intent data)
{
//user canceled
if (resultCode == Result.Canceled)
return;
MediaFile file = await data.GetMediaFileExtraAsync (Activity);
file.Path
//System.Console.WriteLine (file.Path);
}
【问题讨论】:
-
您可以在 MainActivity 上使用 OnActivityResult
标签: android xamarin xamarin.android