Is there an intent that is fired when a user unlocks their screen? I want my app to adjust the brightness when the screen turns on, but the problem im running into is that
Add the receiver in menifest file
<receiver android:name=".ScreenReceiver">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
Create a broadcast receiver which works to open app when phone is unlocked.
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);
}
}
I'm sure it will work.
Look at the disableKeyguard
method in the KeyguardLock class.
Yes, the ACTION_USER_PRESENT
is broadcasted after the user unlocks:
http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT
Note that this is a protected broadcast and if the user is using a lock screen replacement such as WidgetLocker
or NoLock
the USER_PRESENT
may not be sent or may be sent at the wrong time.
For detecting WidgetLocker
's unlock see:
http://teslacoilsw.com/widgetlocker/developers