HTC Sense: Keine Toast-Nachrichten bei eingehendem Anruf?

G

Gecko0815

Neues Mitglied
0
Hallo!

Ich habe eine (selbstgeschriebene) Applikation, die bei einem eingehenden Anruf die Telefonnummer mit Daten einer Datenbank (am Gerät) vergleicht und bei Übereinstimmung die Anruferdaten mittels einer Toast-Nachricht über dem Anrufer-Bildschirm anzeigt. Das klappt bei den meisten Geräten (Desire Z, Desire S, Galaxy Tab, ...) auch hervorragend, doch bei zwei neuen HTC-Geräten (Sensation, ChaCha) gibt es Probleme bei der Anzeige, wenn das Gerät gesperrt (also im Standby-Modus) ist. Beim Anruf erscheint nichts, erst nach Auflegen erscheint die Toast-Meldung und geht dann nicht mehr weg. Was mir beim Sensation allerdings aufgefallen ist: Der Anruferbildschirm sieht anders aus, je nachdem ob das sich beim Anruf im Standby-Modus befindet oder gerade verwendet wird.

Meine Fragen: Sind das zwei unterschiedliche Telefon-Applikationen auf dem Gerät? Wie kann ich das Problem umgehen und die Toast-Nachricht doch noch anzeigen lassen?

Hier der Code-Ausschnitt aus der Klasse TeleListener, die PhoneStateListener erweitert und der die Anruferdaten anzeigt:

Code:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout, (ViewGroup) findViewById(R.id.toast_layout_root));

TextView text = (TextView) layout.findViewById(R.id.text);
text.setText(infoText.toString()); // Der Text wird weiter vorne im Code zusammengestellt
            
Toast toast = new Toast(List.this);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
final Toast toast2 = toast; 
            
Thread t = new Thread() {
     public void run() {
          try {
               while (true) {
                    if (!phoneIsRinging) {
                         toast2.cancel();
                         break;
                    }

                    toast2.show();
                    sleep(1850);
               }
          } catch (Exception e) {
               Log.i(TAG, "Error while showing caller identification: " + e.toString());
          }
     }
};
t.start();
Ich bedanke mich vielmals für Eure Hilfe und hoffe, ich habe alles ausreichend deutlich beschrieben!
Mit freundlichen Grüßen,
Gecko0815
 
Toast über Handler starten?
 

Ähnliche Themen

Laser5001
  • Laser5001
Antworten
1
Aufrufe
666
swa00
swa00
D
Antworten
17
Aufrufe
407
datNeMo
D
5
Antworten
22
Aufrufe
1.420
590239
5
Zurück
Oben Unten