Wie wird die Nummer des verpassten Anrufs im Sperrbildschirm angezeigt?

8

Ich habe eine App gemacht, die verpasste Anrufe anzeigen kann, wenn der Bildschirm gesperrt ist, aber ich weiß nicht, wie die Nummer des verpassten Anrufs auf dem gesperrten Bildschirm angezeigt wird. Das Anrufbild stammt von MultiWaveView , das bereits definiert hat, I habe trid mit OnDraw , mit Canvas und paint , zeichne die specify coordinate.but es funktioniert nicht .so jemand mir helfen? vielen dank.

Wie zeigt man die Zahl (z. B. Bild ist Position 2 ) im Bild?

edit1

für jetzt habe ich die richtige Anzahl von verpassten Anruf in der App bekommen, aber es wird nicht richtig angezeigt

Klasse:

framework\base\core\java\com\android\internal\widget\multiwaveview\MissedCallView.java

%Vor%

}

Dies ist die benutzerdefinierte Ansicht, nur MissedCallView(Context context,int missedCallNum) funktioniert, sie hat bei public class MissCallObserver extends ContentObserver aufgerufen, wenn die verpasste angerufene Nummer gehört wird. Aber die onDraw funktioniert nicht, daher zeigt die App nicht die Nummer, die ich habe.

EDIT2:

für jetzt rufe ich die Funktion in meinem benutzerdefinierten hanlder, Handler alle 10 Sekunden

%Vor%

Ich zeichne es mit Leinwand und Farbe, ohne XML-Dateien

Dann sperre ich den Bildschirm in XML: Keyguardscreentabunlock.xml (Framework \ base \ core \ res \ res \ layout).

verwenden Sie Ripple Lock im System:

%Vor%

dann bekomme ich das:

Nun möchte ich die Nummer des verpassten Anrufs in der Mitte des Kreises anzeigen (in der Position der Bildmaus). Und ich weiß nicht, wie ich das erreichen soll.

    
Amour Ring 03.12.2012, 03:02
quelle

1 Antwort

5

Sie können Flag FLAG_SHOW_WHEN_LOCKED

verwenden

Weitere Informationen zum Sperrbildschirm Meine Android-Sperre

%Vor%

Zeilen aus API-Ebene 5

  

Window-Flag: Spezial-Flag, damit Fenster angezeigt werden, wenn der Bildschirm angezeigt wird   verschlossen. Dies lässt Anwendungsfenster Vorrang vor Schlüssel haben   Wache oder andere Sperrschirme. Kann mit FLAG_KEEP_SCREEN_ON verwendet werden   um den Bildschirm einzuschalten und Fenster direkt anzuzeigen, bevor der Schlüssel angezeigt wird   Wachfenster. Kann mit FLAG_DISMISS_KEYGUARD automatisch verwendet werden   Entmutigen Sie nicht sichere Keyguards vollständig   

UPDATE1 für verpasste Anrufe:

Alles, was Sie brauchen, ist, das Telefon nach irgendwelchen Anrufen abzufragen, dann verpasste eins & amp; Dann ermitteln Sie einfach die Anzahl der Zeilen im Cursor, die von der Abfrage

zurückgegeben werden %Vor%

In der where-Klausel setzen Sie die Bedingung für die Auswahl der Daten. In deinem Fall brauchst du alles, was gleich CallLog.Calls.MISSED_TYPE ist.

Sie können den Namen des Anrufers und seine Nummer wählen, natürlich können Sie weitere Informationen angeben, die wie Nummerntypen wie Handy, Zuhause, Arbeit abgefragt werden.
 Der Ausdruck entspricht der SQL-Abfrage, etwa wie folgt:

%Vor%
  

UPDATE2: Wie zeigt man die 2 im Bild an?

Sie müssen lediglich die Alarmzeichenfolge in den Systemeinstellungen wie folgt festlegen:

%Vor%     
Ravindra Bagale 03.12.2012, 03:09
quelle

Tags und Links