Sub TakePicture
Dim i As Intent
i.Initialize("android.media.action.IMAGE_CAPTURE", "")
File.Delete(imageFolder, tempImageFile)
Dim p As Phone
Dim u As Object
If p.SdkVersion < 24 Then
Dim uri As Uri
uri.Parse("file://" & File.Combine(imageFolder, tempImageFile))
u = uri
Else
u = CreateFileProviderUri(imageFolder, tempImageFile)
End If
i.PutExtra("output", u) 'the image will be saved to this path
Try
StartActivityForResult(i)
Catch
ToastMessageShow("Camera is not available.", True)
Log(LastException)
End Try
End Sub
'result arrives here
Sub ion_Event (MethodName As String, Args() As Object) As Object
If Args(0) = -1 Then
Try
Dim in As Intent = Args(1)
If File.Exists(imageFolder, tempImageFile) Then
lastPicture = LoadBitmapSample(imageFolder, tempImageFile, ImageView1.Width, ImageView1.Height)
ImageView1.Bitmap = lastPicture
Dim Out As OutputStream
Out = File.OpenOutput(GetExternalStoragePublicDirectory("DCIM") & "/Camera", "Emad.jpg", False)
lastPicture.WriteToStream(Out, 100, "JPEG")
Out.Close
Else If in.HasExtra("data") Then 'try to get thumbnail instead
Dim jo As JavaObject = in
lastPicture = jo.RunMethodJO("getExtras", Null).RunMethod("get", Array("data"))
End If
Catch
Log(LastException)
End Try
End If
If lastPicture.IsInitialized Then ImageView1.Bitmap = lastPicture
Return Null
End Sub