Show-Dialog mit Touch-Events über Lockscreen in Android 2.3

Ich möchte einen Dialog erstellen, der auf dem Sperrbildschirm sichtbar ist und Touch-Events erhalten kann. Ich habe ein Fenster mit WindowManager aber nur das TYPE_SYSTEM_OVERLAY Flag wird über dem Sperrbildschirm in GB (Android 2.3.7) angezeigt.

Gibt es eine Möglichkeit, ein System-Overlay zu erstellen, das auf dem Lockscreen sichtbar ist und Touch-Events in Android 2.3.7 erhalten kann?

  • Android & Dalvik - Holen Sie sich die Größe eines Objekts
  • Java.util.zip.ZipException: doppelter Eintrag: wie zu überwinden
  • Warum erstellt Android die Aktivitäten bei der Orientierungsänderung
  • Android - Stream Kamera als RTMP Stream
  • Wie kann ich die Bilder auf einem ImageButton in Android bei der Verwendung eines OnTouchListener ändern?
  • Wie man animiertes Emoticon in TextView oder EditText in Android hinzufügt
  • Es gab einen Bug mit FLAG_WATCH_OUTSIDE_TOUCH aber ich bin mir nicht sicher, wie das mich betrifft. Irgendwelche Ideen?

  • Wie programmgesteuert abmelden von Facebook SDK 3.0 ohne Verwendung von Facebook Login / Logout-Taste?
  • Ndk-gdb mit mehreren so libs
  • Android: Wie kann ich HTML-Links in einem ListView hinzufügen?
  • Stream Android Screencast auf PC
  • Berechnung der Internet-Geschwindigkeit in Android
  • Wie kann ich 2 Strings auf einer Android-App speichern?
  • 3 Solutions collect form web for “Show-Dialog mit Touch-Events über Lockscreen in Android 2.3”

    Ich glaube nicht, dass Sie eine Aktivität jedes Mal starten können, wenn das Gerät gesperrt ist, ohne Ihre Anwendung als admin privilaged app programmgesteuert zu binden.

    Sobald Ihre App admin privilaged app ist, können Sie programmgesteuert das Passwort festlegen und den Bildschirm sperren und dann programmgesteuert mit Device Policy Manager entsperren.

    Oben auf diesem Sperrbildschirm können Sie programmgesteuert Ihre eigene Aktivität starten und Sie können Ihr eigenes Unlocker & Unlock-Gerät über diese Aktivität erstellen, da Sie Rückruf über DeviceAdminReceiver erhalten können .

    Hier ist ein gutes Beispiel dafür und alles was du brauchst ist, deine eigene Aktivität zu erstellen, nachdem du DevicePolicyManager.lockNow () angerufen hast. Dann wird es auf der Oberseite des Sperrbildschirms als normale Aktivität plus zusätzliche Kontrolle über native Lockscreen erscheinen.

    Versuchen Sie es kann Ihnen helfen,

     getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); setContentView(R.layout.alertdialog); 

    Und auch, Android ist ein bisschen ein Widerspruch. Es ist sehr offen und als Entwickler hast du Zugang zu allem, und es liegt an dir, diese Kräfte für Gut und Böse zu nutzen. Wenn ich das Böse sage, verstehe ich keine Malware. Ich meine Apps, die versuchen, niedlich zu werden und Dinge in einer Weise zu verwenden, wie sie nicht dazu bestimmt waren, verwendet zu werden, wie das Aufstellen von Benachrichtigungen, die Sie bitten, die App mehr zu benutzen. Der Widerspruch ist, dass Sie eigentlich keinen Zugang zu allem haben, da sind ein paar Teile, die die Entwickler entschieden haben, waren so wichtig, dass App sich nicht mit ihnen durchsetzen konnte. Der Sperrschirm ist einer dieser Teile. Sie können Ihre Heim-App ersetzen, was Sie wollen, aber Sie müssen sich nie Sorgen um Ihre Ersatz-Sperre Bildschirm scheitern und verhindern, dass Sie auf das Telefon zugreifen.

    Auch wenn dies möglich wäre, hättest du mehr Probleme zu bewältigen. Jeder Sperr-Bildschirm ist anders, Hersteller können und machen es anpassen, so dass Sie keine Garantien Ihre Aktivität wird nicht in den Weg der Freischaltung des Telefons.

    Um außerhalb des Dialogs zu berühren,

     dialog.setCanceledOnTouchOutside(your boolean); 

    Schließlich habe ich das Gleiche erreicht. Gehen Sie nicht für Aktivität, weil Android nicht Sperrbildschirm hinter Ihrer Tätigkeit aus Sicherheitsgründen, also für Service.

    Unten ist mein Code in onStartCommand von meinem Service

     WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE); View mView = mInflater.inflate(R.layout.score, null); WindowManager.LayoutParams mLayoutParams = new WindowManager.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 0, 0, WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON /* | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON */, PixelFormat.RGBA_8888); mWindowManager.addView(mView, mLayoutParams); 
    Das Android ist ein Google Android Fan-Website, Alles ΓΌber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.