Beiträge von Crown007

    sehr geil! DANKE matthias!
    haben tatsächlich etwas aneinander vorbei gedacht.


    Also es funktioniert jetzt, dass alle X Sekunden ein Screenshot gemacht wird.



    mit dem android.R.id.content...
    Ich erweiter die ApiDemo von Google Android. Die App wo es zu eigentlich fast jeder Funktion ein Beispiel gibt.
    Grund ist einfach, dass ich so nicht die ganzen Test-Szenarien wie OpenGL und Activity-Wechsel selbst programmieren muss.


    Laut StackOverflow bekommt man damit die Elemente der RootView.


    das komische ist, dass ich in my.own.package.R.id.content keinen content habe, den ich ansprechen könnte.
    Und ich weiß nicht, wie die Entwickler von ApiDemo die content genannt haben. Ich weiß auch nicht wo ich das nachlesen könnte ;)



    Ich glaube daran hängt auch mein folge Fehler.
    Es macht zwar die Screenshots, aber obwoh ich innerhalb der Zeit die View wechsel, wird der Screenshot immer noch von der View gemacht, von der die Funktion gestartet wurde...

    man kann/darf doch gar nicht in doInBackground auf die UI zugreifen. Und genau das mache ich aber mit screenshot().
    UI zugriffe sind nur in onPostExecute und in onPreExecute erlaubt.
    Daher kann ich den Funktionsaufruf nicht in doInBackground machen.


    selbst wenn ich den Context übergebe, gibt es ja immer noch das Problem, dass onPreExecute nicht ausgeführt wird.

    matthias: schon mal danke dafür. Nur das Problem ist, er kommt ja nichtmal dazu i hochzuzählen, da er ja im wait() ewig hängt.



    @Lucas de Vil: Du ahst recht, natürlich soll der benutzer weiterhin die GUI bedienen können.
    Habs also mal ausgelagert:


    Nur jetzt die Frage warum wird kein Screenshot gemacht? Es scheint mir, dass onPreExecute gar nicht ausgeführt wird.
    Warum nicht?
    Ich bin mir auch nich sicher, ob die aktuelle Main-View richtig übergeben wird mit dem Aufruf:
    screenshot(new MainThread().findViewById(android.R.id.content));


    Es kommt jedenfalls keine Fehlermeldung. Könnte aber auch dadran liegen, dass die Funktion gar nicht aufgerufen wird

    Hallo zusammen!


    Mein erster Beitrag und dann noch gleich eine Frage ;)


    Folgendes:
    Ich will eine App entwickeln die periodisch Screenshots macht.
    D.h. meine screenshot-Funktion muss alle X Sekunden aufgerufen werden.
    Ich dachte, ich implementiere das ganze als AsyncTask.



    Die Idee dahinter ist, dass der MainThread screenshot() aufruft.
    Dann wird 1 Sekunde in einem 2. Thread gewartet.
    Dann das ganze erstmal nur 10 Mal. (Später solls solang gehen, bis erneut ein Button gedrückt wird. Aber erstmal kleine Schritte)


    Das Problem könnte m.M.n an 2 Stellen liegen:
    1.) notifyAll befindet sich in einer inneren Klasse und weckt damit das wait nicht auf.
    2.) das wait ist immer noch im MainThread. Trotzdem sollte die App aber nur für 1 Sekunde hängen (und nicht dauerhaft), da dann das notify kommt, oder?


    Wenn 2.) zutrifft, wie lager ich es richtig aus?
    Wenn ich es auslager, dann muss die screenshot()-Funktion ja auch raus. Aber wie greife ich von außerhalb auf die aktuelle View des MainThreads zu?
    Alle meine Versuche sind bisher in dem Bereich gescheitert...



    Bin für jede Hilfe dankbar, da ich schon langsam am Verzweifeln bin.. :-/


    DANKE
    Gruß

    Crown