2014-01-06 9 views
22

So erstellen Sie eine Lock-Screen-App, die als eine Sperre für Android-Handy fungiert. Ich habe einen gefunden, aber der Code war schlecht konstruiert und wenn ich den physischen Home-Key drückte, öffnete er sich und machte die Anwendung sinnlos.Erstellen einer Android Lock Screen App.

ich auf einem Forum kam wurde in Android 4.x entfernt eine Methode der Sperrung Home-Button-Funktionalität unter Angabe

Doch, ich habe eine tolle Idee für ein Lock-Bildschirm, aber keinen Grund, um loszulegen. Wenn jemand etwas über das Thema weiß, würde ich es gerne hören.

Dank all :-)

+0

Nun, ich dachte, es irgendeine Art von Hinweis darauf sein würde, wie schwer das ist, Ich meine zum Beispiel Theres eine widerspenstige Menge auf dem Markt, so dass ich glaube, dass es eine ziemlich große Anzahl von Entwicklern gibt, die Sie glauben machen könnten, dass dies eine Art Tutorial wäre! – user3047494

+0

Überprüfen Sie diesen Link ... http://forum.xda-developers.com/showthread.php?t=1754753 –

+0

Ein Bildschirm, der wirklich deaktivieren könnte wäre ein schrecklicher Sicherheitsfehler. – chrylis

Antwort

33

Ja, es ist möglich. Dies ist eine einfache Bildschirm sperren Source Code von GitHub

Erstellen einer App, die wie eine Sperre funktioniert, ist keine große Sache, aber wie Sie für Home-Taste Ausgabe sagte, würde ich vorschlagen, dass Sie weitermachen und die App so viel entwickeln, wie Sie benötigen und der einzige letzte Bereich, in dem du hängen bleibst, ist der Home-Key-Control. Versuche also, einen kniffligen Weg zu finden, um den Home-Key zu steuern und ihn als App-Launcher für deine Lock-App zu nutzen. Es ist nicht sehr kompliziert, aber irgendwie schwierig. Ich werde dich veröffentlichen, wenn ich

PS alle Hausschlüssel Zugang Quellcodes finden:

Hier ist das Tutorial Home Key

für den Zugriff auf I die Home-Taste Überschreibung irgendwo gefunden. Fügen Sie diese Zeilen im App-Manifest hinzu.

Nach zwei Linien wird die Magie

<action android:name="android.intent.action.MAIN" />    
     <category android:name="android.intent.category.HOME" />     
     <category android:name="android.intent.category.DEFAULT" />    

tun und überschreiben diese Methode in Ihrer Tätigkeit

@Override 
public void onAttachedToWindow() { 
    super.onAttachedToWindow(); 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);   
} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if(keyCode == KeyEvent.KEYCODE_HOME) 
    { 
     Log.i("Home Button","Clicked"); 
    } 
    if(keyCode==KeyEvent.KEYCODE_BACK) 
    { 
     finish(); 
    } 
    return false; 
} 

Beachten Sie, dass ich nicht diese Codes oder Methoden nicht getestet, habe gerade versucht zu helfen Sie (Sie könnten einige Nachteile finden).

PS: auf der Grundlage der Stimmen kann ich garantieren, dass mein Vorschlag funktioniert und Sie können solche App mit der obenen Hilfe entwickeln :)

+2

Die Home-Key-Lösung funktioniert teilweise. Es überschreibt die Home-Schaltfläche nur dann, wenn der Benutzer zustimmt, Ihre App als Callback-App für diese Aktion zu definieren. – Mugen

+0

Ja Herr, jede Aktion, die wir innerhalb der Android-App nur nach der Zustimmung des Benutzers tun! Ich denke nicht, dass es eine große Sache ist? – Kirk

+0

Nun, Sie brauchen nicht die Zustimmung des Benutzers, um die Schaltfläche "Zurück" zu überschreiben.Der Benutzer wird denken, dass meine App die Schaltfläche "Home" selbst steuern kann und erwartet nicht, dass er mich fragt, welche App die Home-Schaltfläche steuern soll. – Mugen