Public Sub CaptureScreen( act As Activity, dir As String, fileName As String)
Dim Obj1, Obj2 As Reflector
Dim bmp As Bitmap
Dim c As Canvas
Obj1.Target = Obj1.GetActivityBA
Obj1.Target = Obj1.GetField("vg")
bmp.InitializeMutable(act.Width, act.Height)
c.Initialize2(bmp)
Dim args(1) As Object
Dim types(1) As String
Obj2.Target = c
Obj2.Target = Obj2.GetField("canvas")
args(0) = Obj2.Target
types(0) = "android.graphics.Canvas"
Obj1.RunMethod4("draw", args, types)
Dim Out As OutputStream
Out = File.OpenOutput( dir, fileName, False)
Dim fmt As String = "PNG"
If fileName.ToUpperCase.Contains("JPG") Then fmt = "JPEG"
If fileName.ToUpperCase.Contains("JPEG") Then fmt = "JPEG"
bmp.WriteToStream(Out, 100, fmt)
Out.Close
End Sub