Beiträge von jacoblange

    Hallo,


    Wenn Dein Ziel-Telefon über Mobile Daten im Internet ist, wird das Vorhaben schwierig, da die IP-Adresse, die Du vom Provider zugewiesen bekommst nicht die ist, mit der Du im Internet unterwegs bist (Carrier-grade NAT). Wenn das Zieltelefon aber hinter einem normalen DSL Router ist, kannst du in dem Router eine Portweiterleitung für einen beliebigen Port, den du für dein Vorhaben definieren müsstest, freigeben und an das hinter dem Router angebundene Handy weiter leiten.


    In der App auf dem Ziel-Telefon könntest du dann mit einem ServerSocket Objekt auf eingehende Verbindungen unter dem Port warten:


    Das hier ist allerdings stark vereinfacht, aber im Internet gibt es tausende Bespiele dafür, wenn Du nach ServerSocket Implementationen suchst.


    In der App auf dem Client-Telefon bräuchtest Du dann nur eine Socket Verbindung zu der Dyn-DNS Adresse des Ziel Routers mit dem definierten Port erstellen:



    Code
    Socket s = new Socket("meine.dyn-dns-adresse.de", port);


    Als Dyn-DNS Anbieter könnte ich z.B. https://dynv6.com/ empfehlen.


    Zusätzlich könntest Du die Verbindung auch noch absichern, in dem Du statt normalen Sockets SSL Sockets (SSLServerSockets und SSLSocket) verwendest.


    Ich hoffe ich konnte hiermit etwas weiter helfen.


    PS.: Hier noch eine Anleitung für ServerSockets unter Andoid: Android Client-Server Using Sockets – Server Implementation

    Hallo


    Eigentlich ist das nicht wirklich ein Anfänger Thema, aber ich wüsste sonst nicht wohin damit.


    Ich habe eine App entwickelt, mit der ich Bilder für Zeitraffer und Stop-Motion Filme aufnehmen kann. Und mit meinem alten Samsung S4 Mini hatte auch alles wunderbar funktioniert. Leider hatte das Telefon irgendwann das zeitliche gesegnet, so das ich jetzt ein Galaxy Note 9 habe, wo ich feststellen musste das meine App nicht mehr funktioniert.


    Bei den Zeitraffer Aufnahmen konnte ich das Telefon an einer bestimmten stelle positionieren, einstellen in welchem Intervall ein Bild gemacht werden soll und dann das Display ausschalten. Die App hatte dann z.B. alle Stunde ein Bild gemacht.


    In der App selber hatte ich mit WakeLook dafür gesorgt, dass die App trotz ausgeschaltetem Display ewig läuft:


    Code
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());
    wl.acquire();

    Bei dem Note 9 habe ich nun das Problem, das nach dem Ausschalten des Displays keine Bilder mehr aufgenommen werden, und somit ich keine schönen Zeitraffer aufnahmen mehr erstellen kann :-(Ich habe schon probiert alle möglichen Optimierungen (Doze und App Standby) für meine App zu deaktivieren, aber ohne erfolg. Und wenn ich die ganze Zeit den Bildschirm über den PowerManager mit anlasse, hält halt der Akku nicht sehr lange.Daher meine Frage, ob hier eventuell jemand noch eine Idee hat, was ich hier noch tun könnte.