Zeichnen Floating-Layout auf Android-launcher und anderen apps, die Bildschirme und die Verwaltung des Lebenszyklus dieses layout
Möchte ich ein floating-layout erscheint auf allen Bildschirmen keine apps auf dem Handy, und ich kann Aktionen auf diesem layout neben einer anderen app laufen neben diesem layout können es die eigenen Aktionen und Veranstaltungen
Und hier ist eine app, die tun, was ich will https://play.google.com/store/apps/details?id=com.ninja.sms
Hier ist die Haltung, die ich gearbeitet habe:
Ich verwendete WindowManager zeichnen Sie das layout auf und ein Dienst zur Verwaltung dieses layout.
Ich Folgendes Bibliothek https://github.com/t0mm13b/TouchSoftly, aber es hat einige Probleme
1. Das layout muss nicht erhalten Aktionen oder touch-events, die Aktionen geht, um den Blick unter die ein, die gezeichnet von dieser Bibliothek.
2. Das layout verschwinden, wenn die Aktivität gestartet, die den Dienst getötet.
So, ich habe einige Anpassungen in der folgende Codeausschnitt
_layOutParams = new WindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT);
_layOutParams = new WindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT);
_layOutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
_layOutParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
if (_layOutParams != null) {
Log.d(TAG, "onCreate() - Got _layOutParams!");
_layOutParams.gravity = Gravity.RIGHT | Gravity.TOP;
} else
Log.d(TAG, "onCreate() - _layOutParams is null! :(");
_hudPageView = _layOutInflater.inflate(R.layout.service_hudpageview, null);
Das Ergebnis ist, dass das layout schon fertig und kann touch Events, aber die Home, Zurück und Letzte apps Tasten funktionieren nicht oder haben keine Wirkung auf die app, während das layout auf dem Bildschirm erscheinen.
Also immer noch nicht was ich erreichen will.
Und Hier ist der Quellcode und repository, die ich bin zu arbeiten auf, so dass u können überprüfen, mein source-code
https://github.com/mmelsabry/FloatingLayout
Ich weiß, es ist eine andere Frage, die hier Floating widget /Overlay auf Android launcher
aber es hilft nicht
- Finden die Anleitung unter dem link [StandOut - Erstellen von Floating-Apps][1] [1]: forum.xda-developers.com/showthread.php?t=1688531
- versuchen Sie dies: es enthält alles, was Sie brauchen, leicht zu Lesen. github.com/EatHeat/FloatingExample
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit TYPE_SYSTEM_OVERLAY statt TYPE_SYSTEM_ALERT.