Как получить имя захваченного изображения с помощью камеры в Android Xamarin - PullRequest
1 голос
/ 19 апреля 2019

Я хочу получить имя захваченного изображения с помощью камеры. Когда пользователь нажимает кнопку камеры, камера открыта нормально, но я хочу получить имя захваченного в данный момент изображения.

Это событие нажатия кнопки, когда пользовательнажмите кнопку, после чего камера откроется.

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;
}

В режиме отладки я получаю этот вывод.enter image description here

1 Ответ

1 голос
/ 23 апреля 2019

Как получить имя захваченного изображения с помощью камеры в Android Xamarin

Преобразуйте Android.Net.Uri в фактический путь и получите имя изображения по этому пути .

Затем вы можете получить фактический путь и имя файла в 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);
    }
}

Обновление:

Вы могли бы сослаться на ответ Аамирхана Получение пути захваченного изображения в Android с помощью намерения камеры , он отлично работает на моей стороне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...