如何在Xamarin Android中使用相机获取捕获图像的名称

问题描述 投票:2回答:1

我想用相机获取捕获图像的名称。当用户单击按钮相机打开正常但我想获取当前捕获的图像的名称。

当用户按下按钮然后打开相机时,这是按钮点击事件。

fab3.Click += (o, e) =>
            {
              Intent intent = new Intent(MediaStore.ActionImageCapture);
              StartActivityForResult(intent, 0);
              CloseFabMenu();

            };

这里是我想要读取捕获图像的名称。

 protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
    {
      base.OnActivityResult(requestCode, resultCode, data);
      //if ((requestCode == PickImageId) && (resultCode == Result.Ok) && (data != null))
      //{

        switch (requestCode)
        {
          case 0:
            if (resultCode == Result.Ok)
            {
              Bitmap bitmap = (Bitmap)data.Extras.Get("data");


            }

            break;
}

在调试模式i获取此输出。 enter image description here

xamarin c#-4.0 xamarin.android
1个回答
1
投票

如何在Xamarin Android中使用相机获取捕获图像的名称

Convert the Android.Net.Uri to actual pathget the image name from that path

然后,您可以在OnActivityResult中获取实际路径和文件名:

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
    base.OnActivityResult(requestCode, resultCode, data);
    if (requestCode == 0)
    {
        var uri = data.Data;
        string path = GetActualPathFromFile(uri);
        System.Diagnostics.Debug.WriteLine("Image path == " + path);
        string fileName = Path.GetFileName(path);
    }
}

Update:

你可以参考Aamirkhan的回答Getting path of captured image in Android using camera intent,它在我身边很好用。

© www.soinside.com 2019 - 2024. All rights reserved.