android unlock screen intent?

前端 未结 3 1190
傲寒
傲寒 2020-12-03 15:25

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

相关标签:
3条回答
  • 2020-12-03 15:58

    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.

    0 讨论(0)
  • 2020-12-03 16:12

    Look at the disableKeyguard method in the KeyguardLock class.

    0 讨论(0)
  • 2020-12-03 16:15

    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

    0 讨论(0)
提交回复
热议问题