Gibt es eine Absicht, die ausgelöst wird, wenn ein Benutzer den Bildschirm entsperrt? Ich möchte, dass meine App die Helligkeit anpasst, wenn sich der Bildschirm einschaltet, aber das Problem besteht darin, dass der Bildschirm auf dem Sperrbildschirm ausgelöst wird und die Anzeige auf diesem Bildschirm nicht angepasst wird.Android entsperren Bildschirm Absicht?
7
A
Antwort
2
Betrachten Sie die disableKeyguard
Methode in der Klasse.
8
Ja, die ACTION_USER_PRESENT
, nachdem der Benutzer gesendet wird entriegelt:
http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT
Beachten Sie, dass dies eine geschützte Sendung ist und wenn der Benutzer eine Sperre Bildschirm Ersatz wie WidgetLocker
oder NoLock
wird mit der USER_PRESENT
kann nicht gesendet werden oder zur falschen Zeit gesendet werden.
Für WidgetLocker
‚Erkennung s entsperren sehen: http://teslacoilsw.com/widgetlocker/developers
5
den Empfänger hinzufügen in menifest Datei
<receiver android:name=".ScreenReceiver">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
einen Rundfunkempfänger erstellen, die App öffnen funktioniert, wenn das Telefon gesperrt ist.
public class ScreenReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
System.out.println(intent.getAction());
if (intent.getAction().equals(Intent.ACTION_USER_PRESENT))
{
Intent intent1 = new Intent(context,MainActivity.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
}
}
Ich bin mir sicher, es wird funktionieren.
Ich denke nicht, dass dies die Frage direkt beantwortet. Dies scheint eine Methode zu sein, den Bildschirm zu entsperren, anstatt benachrichtigt zu werden, wenn der Bildschirm entsperrt wurde. – stealthcopter