Java[Android APK] - Uhrzeit, Anruf tätigen

  • Moin leuts, wollte mal fragen wie es aussieht wenn ich meine APK jemanden anrufen soll um eine bestimmte Uhrzeit.
    Wie man Anrufe tätigen kann weis ich schon, aber wie um eine bestimmte Uhrzeit und wo müsst ich den Quellcode hinpacken?



    Java
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>


    Java
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_CALL);
    intent.setData(Uri.parse("tel:123456789"));
    startActivity(intent);
  • Dein jetziger Code ruft ja direkt beim Ausführen jemanden an.
    Um also um eine bestimmte Uhrzeit jemanden anzurufen, benötigst du z.B einen Timer, der jede Minute bspw. aktualisiert und - wenn es denn die gewünschte Uhrzeit ist - jemanden dann anruft.
    Das setzt aber voraus, dass das Programm die ganze Zeit läuft und somit Performance frisst, da es jede Minute über den Timer die Zeit checkt.
    Ich kenne mich nicht mit Android aus, aber auf Linux macht man es normalerweise mit bash (bspw. mit crontab oder at - statements).


    Das wäre meine Idee. Vielleicht hat man aber auch Zugriff auf die Android API mit bestimmten Hooks bzw. Callbacks, die automatisch ausgeführt werden. So könnte man dann einen Callback nutzen, der bspw. bei der Aktualisierung der Uhrzeit genutzt wird.


    Mehr kann ich aber dazu nicht schreiben, da ich mich mit Android leider nicht auskenne.
    Wenn du allerdings den Code in Java benötigst (mit normalen Timer oder vorgegebenen Callback), kann ich ihn dir gerne zur Verfügung stellen.


    MfG


    //edit


    Mit Cronjobs wäre es auch Performance-optimiert auf Android möglich. Müsstest eben nur das Handy rooten und crond installieren. Dann den Beispielcode abwandeln, dass er dein Script ausführt und es sollte EIG passen:
    https://stackoverflow.com/ques…to-use-crontab-in-android


    Aber btw.: Ich empfehle dir nicht das Handy zu rooten, das machst du logischerweise auf eigene Kosten (falls du dich damit nicht auskennst). Das hier ist lediglich ein Tipp meinerseits, wie man es ohne direkten Java Timer lösen könnte.

  • Moin Moin,


    ich glaube ich kann dir da ziemlich gut weiterhelfen, da ich nun jetzt schon mehr als 4 Jahre Android APPs Programmiere.
    Wenn du gerne das ganze allein hinbekommen möchtest kann ich dir so einige Begriffe an den Kopf werfen, ansonsten kannst du dich gerne per PN bei mir melden.


    Du wirst einen AlarmManager, PendingIntent so wie einen WakefullBroadcast benötigen. Das ganze wird auch bei der Android Programmierung Schedule Alarm genannt.
    Für die Konstante des AlarmMangers kann ich dir einen zusätzlichen Tipp geben, achte darauf das du die Konstante "RTC_WAKEUP" verwendest.


    Viel Glück! :)


    Liebe Grüße
    tmcyrix