에 이미지를 이동
캡처 된 이미지
Android.Net.Uri targetUri = data.Data;
String origin = "";
String [] proj = { MediaStore.MediaColumns.Data.ToString(), BaseColumns.Id };
var qry = ManagedQuery (MediaStore.Images.Media.ExternalContentUri, proj, null, null, "date_added DESC");
qry.MoveToFirst();
origin = qry.GetString (qry.GetColumnIndexOrThrow (MediaStore.MediaColumns.Data.ToString()));
의 파일 이름을 검색합니다.
의 당신이 ACTIVITY_RESULT_PICTURE_TAKEN 당신이 완성 된 활동을 확인하기 위해 하여 onActivityResult에서 사용할 수있는 단순한 값 그림
var uri = ContentResolver.Insert(MediaStore.Images.Media.ExternalContentUri,
new ContentValues());
var intent = new Intent(MediaStore.ActionImageCapture);
intent.PutExtra(MediaStore.ExtraOutput, uri);
StartActivityForResult(intent, ACTIVITY_RESULT_PICTURE_TAKEN);
pictureUri = uri;
을 적용하려면 다음 코드를 사용한다고 가정 해 봅시다.
귀하의 onActivityResult를이 같은 것을 볼 수 있었다 :
이
protected override void OnActivityResult(int requestCode,
Result resultCode, Intent data)
{
if (resultCode == Result.Ok && requestCode == ACTIVITY_RESULT_PICTURE_TAKEN)
{
string picturePath = GetRealPathFromURI(pictureUri);
//Do something with the file
}
}
이전에 가지고 열린 안드로이드 특정 뭔가 번역 될 필요가있다.
유효 경로가 이 아닌 "// content : // media/external/media/11917"처럼 보입니다. GetRealPathFromURI의 함수가 정확히 무엇
: 당신이 실제 경로를했으면, 당신은 당신이 lanks 제안으로 원하는 목적지로 이동할 수 있습니다
public string GetRealPathFromURI(Android.Net.Uri contentUri)
{
var mediaStoreImagesMediaData = "_data";
string[] projection = { mediaStoreImagesMediaData };
Android.Database.ICursor cursor = this.ManagedQuery(contentUri, projection,
null, null, null);
int columnIndex = cursor.GetColumnIndexOrThrow(mediaStoreImagesMediaData);
cursor.MoveToFirst();
return cursor.GetString(columnIndex);
}
.