Sub MakeScreenshot As String
Log("MakeScreenshot in Main aufgerufen")
' Take a screenshot.
Private Obj1, Obj2 As Reflector
Private bmp As Bitmap
Private c As Canvas
Private now, i As Long
Private dt As String
DateTime.DateFormat = "yyMMddHHmmss"
now = DateTime.now
dt = DateTime.Date(now) ' e.g.: "110812150355" is Aug.12, 2011, 3:03:55 p.m.
Obj1.Target = Obj1.GetActivityBA
Obj1.Target = Obj1.GetField("vg")
bmp.InitializeMutable(Activity.Width, Activity.Height)
c.Initialize2(bmp)
Private args(1) As Object
Private 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)
Private Out As OutputStream
Out = File.OpenOutput(File.DirRootExternal, dt & ".png", False)
bmp.WriteToStream(Out, 100, "PNG")
Out.Close
Return File.Combine(File.DirRootExternal,dt&".png")
End Sub