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

Schreibe einen Kommentar