【问题标题】:Xamarin.Android MediaFile StoreXamarin.Android 媒体文件存储
【发布时间】: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


【解决方案1】:

确保您在 AndroidManifest.xml 文件中添加了权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 2015-08-17
    • 1970-01-01
    • 2019-08-29
    相关资源
    最近更新 更多