KeyGuard bypass vom Lockscreen

missspelled

missspelled

App-Anbieter (In-App)
127
Hallo,
ich suche nach einer Möglichkeit nach dem Berühren einer Benachrichtigung (RemoteView) eine SeekBar zu öffnen um auch bei gesperrtem Lockscreen via SeekBar Werte einstellen zu können...
Wie gehe ich am besten vor?

Bis jetzt bin ich doch ziemlich erstaunt wie hundsmieserabel das Ganze funktioniert bzw. die Ansätze, die ich bis jetzt gefunden habe kommen sind alle extrem kompliziert und vollkommen unpraktikabel vor oO

Alternative A (aktuelle "Lösung") Eine unsichtbare Activity öffnen, in der ein Dialog mit besagter SeekBar (warum heißt das Ding eigentlich SeekBar und nicht wie in jeder anderen Plattform auch "Slider"?!) angezeigt wird.
Die Lösung kommt mir ziemlich stümperhaft vor - gerade weil das Setzen der WindowFlags absolut keine Berücksichtigung erfährt -> sprich der Bildschrim meines S6s bleibt gesperrt bis ich ihn wieder entsperre, danach wird der Dialog angezeigt. Naja, ob man sich nun darüber freuen kann.. :-/

Alternative B: http://developer.android.com/guide/topics/appwidgets/index.html#lockscreen
scroll... scroll... scroll... oO hab null Erfahrung damit und ehrlich gesagt hält sich meine Motivation in Grenzen gefühlte 30 Seiten durchzulesen / arbeiten um dann zu merken, dass es vielleicht doch nicht das ist was man sucht oder an einer anderen Stelle sich wieder neue Problemchen ansammeln (davon gehe ich einfach mal aus).

Alternative C: Die super tolle Media-Notification (ab API 21) nutzen <- ist wohl auch Käse, da ich über relativ weite Teile der App den Code doppelt schreiben müsste bzw. das Feature dann für <Lollipop entfällt.

Vielleicht hat ja jemand noch einen kleinen Denkanstoß...

Danke im Voraus und beste Grüße.
 
Du kannst das glaube ich nicht machen. Zumindest nicht wenn es Passwort oder anderweitig mit Muster oder so geschützt ist. Also z.B. durch Streichen kannst du die Windowmanager Methode benutzen. Es wäre ein großes Sicherheitsrisiko ansonsten (jemand schnappt sich dein Handy steckt es an PC und lässt die App dann im Debug Modus laufen--> entsperrtes Handy)

Selbst die eingebaute Musik App hat keinen Slider um zu einer bestimmten Stelle zu springen und selbst bei meinem Streich lockscreen muss ich immer wieder streichen wenn ich durch eine Notification auf eine App zugreifen möchte.
Appwidgets im Lockscreen sind auch nur für Androiden bis ausschließlich 5.0 verfügbar soweit ich das mal gelesen habe.(das hast du auch selbst erwähnt sehe ich gerade in einem anderen Context....scheint wohl das sich Android davon entfernt im Lockscreen anfällig für Manipulationen zu sein)

Sorry das ich da enttäuschen muss :(


Jaiel
 
Irgendwie muss es gehen eine Activity über den Lockscreen zu legen. Google Maps macht das während einer Navigation auch. Läuft eine Navigation und der Screen ist gesperrt, kannst du auf die Notification drücken und Maps geht auf ohne den Screen zu entsperren. Wenn man dann den Home Button drückt (der Recents Button existiert nicht) kommt man auf den Lockscreen zum Entsperren.

Aber wie die das machen, kann ich dir leider nicht sagen.
 
  • Danke
Reaktionen: missspelled
Mit einer Activity weiß ich nicht ob das so geht, die Activity wird eigentlich hinter dem Lockscreen angezeigt werden.

Probier es mal damit:

Code:
WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

View mView = mInflater.inflate(R.layout.irgendeinlayout, 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);

und das in ein Service in OnStartCommand rein, anstatt einer Activity.

Quelle:Android activity over default lock screen - Stack Overflow

Hat dort bei einer Antwort geklappt und viele haben:"thanks it works" geschrieben :)

Also baue dort deine SeekBar irgendwie rein in die View die du dan zeigen möchtest
Oder mal heir rein schauen (ich weiß ist etwas mit viel Code lesen und den Sinn verstehen aber evtl hilfreich)

show Fragment on LockScreen (for Android) · GitHub

Hoffe es hilft
 
  • Danke
Reaktionen: missspelled
Danke für eure Tipps und Hinweise. Werde sie später versuchen umsetzen, sage Bescheid sobald es etwas neues gibt. :)
 
Hallo,
also ich gebs auf :-/ an der Sache weiter Zeit zu verschwenden macht für mich keinen Sinn :(
Vielleicht ist es auf meinem S6 wirklich nicht möglich. Die Google Maps Navigation wird auch erst nach dem Entsperren angezeigt (habe aktuell den Fingerprint-Scanner aktiv).
Die einzige App, die den Lockscreen bypassen kann ist die Kamera-App von Samsung (vorinstallierte Stock-App)

Vielleicht mal unabhängig davon... Besagte Kamera-App kann über Doppelt-Klick auf Homebutton gestartet werden. Wie geht das überhaupt? Dann gibts noch einen Notfall-Modus der nach 3x schnell "Power" drücken aktiviert wird. Diese Funktionen sind von "überall" aufrufbar. Warum? Weiß jemand wie das gemacht wird? Sind das alles feste Kernel-Features, oder wäre das auch für einen privaten Programmierer möglich auf besagte Interaktionen zu reagieren?

Android, das offene Betriebssystem.. hehe^^
 
Lass es bleiben. Das Problem liegt bei Samsung. Samsung passt Android auf seinen Smartphones an, um einen "Mehrwert" auf seine Smartphones zu generieren. Die beschrieben Funktionen sind Feature von Samsung.

Android ist zwar Open Source, aber die Hersteller haben die Möglichkeiten eigene Software auf den Geräten zu installieren. Und Google verlangt von den Herstellern, wenn Google Play Store auf der App laufen soll, die Installation von proprietären Apps.

Wenn du es trotzdem versuchen möchtest, schau mal im Developer Bereich von Samsung nach, vielleicht wirst Du da fündig.
Samsung GALAXY | SAMSUNG Developers
 

Ähnliche Themen

H
  • HerrFatalVonError
Antworten
4
Aufrufe
796
jogimuc
J
T
Antworten
1
Aufrufe
681
swa00
swa00
Zurück
Oben Unten