我想使用相机获取捕获图像的名称。当用户单击按钮时,相机打开正常,但是我想要获取当前捕获图像的名称。
这是用户单击按钮然后打开相机时的按钮单击事件。
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;
}
答案 0 :(得分:1)
如何在Xamarin Android中使用相机获取捕获图像的名称
Convert the Android.Net.Uri
to actual path和get 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);
}
}
您可以参考Aamirkhan的回答Getting path of captured image in Android using camera intent,对我而言效果很好。