mikrocontroller.net

Forum: PC-Programmierung FRITZ!Box Dialer App für Android


Autor: Borislav B. (boris_b)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Hallo zusammen!

Ich möchte euch heute ein kleines Projekt vorstellen, das allerdings 
nichts mit Mikrocontrollern zu tun hat.
Viel mehr geht es um eine nützliche kleine Android-App, die sich an 
FRITZ!Box-User (mit Headset) richtet.

DIAL!Box:
https://play.google.com/store/apps/details?id=de.f...

Die Motivation diese App zu schreiben war Folgendes:
Häufig rufe ich mit meinem DECT-Headset die Verwandtschaft an, da es bei 
längeren Gesprächen praktisch ist, die Hände frei zu haben (z.B. um 
nebenbei den TeamViewer zu bedienen oder die Wohnung aufzuräumen).

Allerdings ist das Wählen per Headset ziemlich mühselig:

Option A:
Laptop aufklappen, fritz.box ansurfen, einloggen, Telefonbuch öffnen, 
Kontakt raussuchen, anwählen lassen, am Headset abnehmen.

Option B:
Mit dem normalen Telefon die Nummer wählen, den Angerufen bitten zu 
warten, das Gespräch per Tastenkombination an das Headset übergeben, 
dort annehmen, das normale Telefon auflegen.

Beides fand ich ziemlich suboptimal, und wollte eine einfachere Lösung 
haben :-)

Was macht DIAL!Box?
Es gibt zwei Möglichkeiten DIAL!Box zu verwenden:
1. Einen Kontakt aus dem Android-Telefonbuch antippen, die Nummer mit 
DIAL!Box wählen lassen, am Headset abnehmen -> Fertig!
2. In der App wird das FRITZ!Box-Telefonbuch angezeigt. Darüber können 
auch die Nummern, die dort gespeichert sind, gewählt werden.


Ich hoffe die App nützt dem einen oder anderen von euch was :-)
Über Feedback und Anregungen würde ich mich sehr freuen...

Autor: Urban (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Warum hängst du die App nicht einfach hier an?

Autor: Draco (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ich würde die Nummern in den Bildern schwärzen ;-)

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Draco schrieb:
> Ich würde die Nummern in den Bildern schwärzen ;-)

Das sind alles fake-Nummern, keine Angst ;-)

Urban schrieb:
> Warum hängst du die App nicht einfach hier an?

Lädst Du tatsächlich Apps von irgendwelchen Websites und installierst 
sie bei Dir? Das würde ich nicht tun (auch wenn es der nette Typ aus dem 
Mikrocontroller.net Forum ist) ;-)
Über den PlayStore ist das Ganze (zumindest etwas) sicherer...

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:
> 2. In der App wird das FRITZ!Box-Telefonbuch angezeigt. Darüber können
> auch die Nummern, die dort gespeichert sind, gewählt werden.

Du kennst die Fritz!App Fon ?

Oliver

Autor: oszi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Du kennst die Fritz!App Fon ?

Damit kann man telefonieren, ja. Kann man aber auch nur wählen und 
beim Zustandekommen das Gespräch mit einem DECT-Teil führen? Wie geht 
das? Würde mich auch interessieren.

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oszi schrieb:
> Damit kann man telefonieren, ja. Kann man aber auch nur wählen und
> beim Zustandekommen das Gespräch mit einem DECT-Teil führen? Wie geht
> das? Würde mich auch interessieren.

Ich hab's nicht hinbekommen ;-)
Deshalb habe ich diese App geschrieben...

Autor: oszi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:
> Ich hab's nicht hinbekommen ;-)
> Deshalb habe ich diese App geschrieben...

Eben, ich auch nicht. Und in der Beschreibung bzw. in der Hilfe von 
FritzApp Fon konnte ich auch nichts entdecken. Deshalb hab ich mich auch 
so über den Einwurf von Oliver S. gewundert.

Ich finde die Idee gut und werde sie, wenn sie im Play auftaucht, auf 
jeden Fall mal probieren.

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oszi schrieb:
> Ich finde die Idee gut und werde sie, wenn sie im Play auftaucht, auf
> jeden Fall mal probieren.

Die sollte schon drin sein.

Welche Android Version hast du denn? Ich habe erst mal alles ab 5.0 
aufwärts unterstützt.

Autor: oszi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:
> oszi schrieb:
>> Ich finde die Idee gut und werde sie, wenn sie im Play auftaucht, auf
>> jeden Fall mal probieren.
>
> Die sollte schon drin sein.
>
> Welche Android Version hast du denn? Ich habe erst mal alles ab 5.0
> aufwärts unterstützt.

Im Moment hab ich die 4.3.1 auf einem Galaxy S

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie bekommt man eigentlich eine App in den Store, mal so am Rande.

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oszi schrieb:
> Im Moment hab ich die 4.3.1 auf einem Galaxy S

OK, dann wird sie dir nicht angeboten :-(
Ich schau nachher mal, ob es viel Aufwand ist Unterstützung für 4.x er 
Androids einzubauen.

Draco schrieb:
> Wie bekommt man eigentlich eine App in den Store, mal so am Rande.

Bei Google einen Entwickler-Account anlegen. Dann das Kompilat 
signieren, hochladen, mit Metadaten (Screenshots, Icons, Beschreibungen, 
Altersfreigaben usw.) versehen und auf "veröffentlichen" klicken. Fertig 
:-)

Autor: Marc H. (marchorby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:
> Deshalb habe ich diese App geschrieben...

Poste mal bitte den Quellcode!

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc H. schrieb:
> Poste mal bitte den Quellcode!

Sonst noch was? ^^

Scherz bei Seite:
Als Unterbau für die App habe ich eine recht schöne (Eigenlob? :-)) 
Library zum ansteuern der FRITZ!Box geschrieben. Diese werde ich in 
Kürze auf GitHub veröffentlichen.
Das ist auch der eigentliche, spannende Teil. Die App ist mehr oder 
weniger "nur" ein GUI Wrapper drum herum...

Autor: Urban (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:

> Lädst Du tatsächlich Apps von irgendwelchen Websites und installierst
> sie bei Dir?

Nicht von irgendwelchen Websites: Z. B. vom Datensammler Google lade ich 
keine Apps.

Autor: Hannes J. (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor das zum großen Rätselraten ausartet, die offizielle AVM 
Entwicklerdokumentation findet man hier:

https://avm.de/service/schnittstellen/

Das früher in der FB vorhandene TAPI-Interface wird seit FritzOS 6.50 
nicht mehr unterstützt und war nie richtig dokumentiert. Genauso sind 
die Eigenschaften des SIP Registrar in der FritzBox nicht dokumentiert.

Allgemein, wer ein bisschen an der FB rumhacken möchte findet (zum Teil 
veraltete) Informationen hier: 
http://www.wehavemorefun.de/fritzbox/AVM_Wiki

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes J. schrieb:
> Bevor das zum großen Rätselraten ausartet, die offizielle AVM
> Entwicklerdokumentation findet man hier:
>
> https://avm.de/service/schnittstellen/

Da hab ich mich auch bedient :-)
TR-064 heißt das Zauberwort. Das ist im Prinzip SOAP, allerdings liefert 
AVM keine WSDL-Dateien. Das macht das ganz recht mühselig...

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Android 4.x zu unterstützen ist leider nicht so einfach wie gehofft :-(
Das Wählen von Nummern aus anderen Apps heraus (z.B. Android 
Telefonbuch) scheint nicht ohne Weiteres möglich zu sein.

Aber ich experimentiere noch ein bisschen herum...

Autor: oszi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:
> Android 4.x zu unterstützen ist leider nicht so einfach wie
> gehofft :-(
> Das Wählen von Nummern aus anderen Apps heraus (z.B. Android
> Telefonbuch) scheint nicht ohne Weiteres möglich zu sein.
>
> Aber ich experimentiere noch ein bisschen herum...

Ja, danke für deine Mühe.
Ich bin keiner, der etwas wegwirft, wenn es noch funktioniert. Und ich 
sehe es nicht ein, daß ich mir ein neues Handy kaufen soll, nur weil es 
neuere gibt. Das Galaxy hat nun auch schon viele Jahre auf dem Buckel, 
es gab (glaube ich) dafür auch keine Updates. Aber ich habe mir mal vor 
einiger Zeit ein neues System draufgemacht (CyanogenMod), damit läuft es 
besser als im Originalzustand. Warum soll ich mir also ein neues kaufen?
(nur mal als Erläuterung) :-)

Autor: Le X. (lex_91)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oszi schrieb:
> Aber ich habe mir mal vor
> einiger Zeit ein neues System draufgemacht (CyanogenMod), damit läuft es
> besser als im Originalzustand. Warum soll ich mir also ein neues kaufen?
> (nur mal als Erläuterung) :-)

Wenn du vor Custom ROMs eh nciht zurückschreckst:
gibt es da kein neueres CM für dein Handy?
Grad Samsung ist doch immer gut unterstützt.

Autor: oszi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Le X. schrieb:
> oszi schrieb:
>> Aber ich habe mir mal vor
>> einiger Zeit ein neues System draufgemacht (CyanogenMod), damit läuft es
>> besser als im Originalzustand. Warum soll ich mir also ein neues kaufen?
>> (nur mal als Erläuterung) :-)
>
> Wenn du vor Custom ROMs eh nciht zurückschreckst:
> gibt es da kein neueres CM für dein Handy?
> Grad Samsung ist doch immer gut unterstützt.

Da wollte ich sowieso mal schauen. Hab ich aber noch nicht gemacht, weil 
eigentlich keine Notwendigkeit bestand. Aber ich guck mal, was es da 
neues gibt :-)

Autor: Hannes J. (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:
> Android 4.x zu unterstützen ist leider nicht so einfach wie gehofft :-(
> Das Wählen von Nummern aus anderen Apps heraus (z.B. Android
> Telefonbuch) scheint nicht ohne Weiteres möglich zu sein.
>
> Aber ich experimentiere noch ein bisschen herum...

Was genau ist das Problem? Ich erinnere mich dunkel das schon vor ewigen 
Zeiten auf 2.3 gemacht zu haben.

Lesen der Kontakt-Daten:

https://developer.android.com/training/contacts-pr...

Oder ist es das Wählen?

Dazu Phone-Status abfragen / Callback installieren und eine(n)[sp?] 
Intent mit ACTIOD_DIAL (oder war es ACTION_CALL?) broadcasten.

Oder willst du selber auf eine gebroadcasteten ACTION_DIAL oder 
ACTION_CALL Intent reagieren?

Dann registriere Intent-Filter.

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes J. schrieb:
>
> Dann registriere Intent-Filter.

Genau so mache ich das. Ab 5.0 funktioniert der auch, aber nicht mit 
4.x. Da scheint es nicht möglich zu sein (?) Intents für das Wählen von 
Telefonnummern zu registrieren... (oder es gibt da noch einen Trick, auf 
den ich nicht gekommen bin).

Das andere Problem ist die GUI: Ich verwende einige neue Funktionen 
(Toolbar, gefärbte Statusbar, Themes etc.), die erst mit 5.0 eingeführt 
wurden.
Zwar gibt es dafür Compability-Klassen, aber die machen noch ein wenig 
Ärger...

Es wäre vermutlich einfacher, ein aktuelleres CM zu flashen ;-)

Autor: oszi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:
> Es wäre vermutlich einfacher, ein aktuelleres CM zu flashen ;-)

Hab gerade mal nachgeschaut, das aktuellste CM für das Galaxy S ist die 
Version 4.4.4.
Naja, man kann nicht alles haben :-)
Wäre auch nur ein "nice to have" für mich gewesen...

Autor: Borislav B. (boris_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oszi schrieb:
> Ich bin keiner, der etwas wegwirft, wenn es noch funktioniert. Und ich
> sehe es nicht ein, daß ich mir ein neues Handy kaufen soll, nur weil es
> neuere gibt.

Wegwerfen tu ich sie auch nicht. Aber benutzen will ich die alten Gurken 
auch nicht mehr ;-)

Die alten Dinger taugen z.B. noch gut als Babyphone, MP3-Player für die 
Kids, Bastelmaterial, Upgrades für die Bucklige Verwandtschaft oder den 
Verkauf bei eBay etc.

: Bearbeitet durch User
Autor: Hannes J. (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Boris P. schrieb:
> Hannes J. schrieb:
>>
>> Dann registriere Intent-Filter.
>
> Genau so mache ich das. Ab 5.0 funktioniert der auch, aber nicht mit
> 4.x. Da scheint es nicht möglich zu sein (?) Intents für das Wählen von
> Telefonnummern zu registrieren... (oder es gibt da noch einen Trick, auf
> den ich nicht gekommen bin).

Doch, das geht. Skype macht das zum Beispiel seit "Ewigkeiten", genauso 
wie z.b. SIP Clients wie CSipSimple.

Manifest richtig gesetzt?

Mal ACTION_DIAL statt ACTION_CALL ausprobiert?

Mal die Default Action in den App Einstellungen der Telefon-App gelöscht 
("Launch by default" bzw. "standardmäßig starten")?

Den Intent-Chooser im Code zwangsweise aufrufen 
(https://developer.android.com/training/sharing/sen...)? 
Wenn deine App nicht auftaucht ist sie für den Intent nicht registriert. 
Logcat sorgfältig nach Fehlern absuchen.

Eine Android-Version (4.4.3?) hatte ein zusätzliches App-Permission 
Sicherheits Management-Feature (in den Sicherheits-Einstellungen). Sie 
mal nach, ob Calls dort für deine App verboten sind. Google hat das in 
der nächsten Version schleunigst wieder ausgebaut, weil es auch die 
google-eigene Datenschnüffelei in den Kontakten, auslesen der Identität 
usw. verhinderte.

CSipSimple ist Open Source. Notfalls mal in den Code (dürfte ziemlich 
viel sein) reinsehen.


> Es wäre vermutlich einfacher, ein aktuelleres CM zu flashen ;-)

Für viele Gurken gibt es kein CM. Laut Google sind aktuell noch fast 30% 
auf 4.4.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.