我想用相机获取捕获图像的名称。当用户单击按钮相机打开正常但我想获取当前捕获的图像的名称。
当用户按下按钮然后打开相机时,这是按钮点击事件。
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;
}
如何在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,它在我身边很好用。