android解锁屏幕意图?

时间:2010-05-10 13:50:08

标签: android screen locking android-intent

当用户解锁屏幕时是否会触发意图?我希望我的应用程序在屏幕打开时调整亮度,但我遇到的问题是在锁定屏幕上触发意图屏幕并且它不会调整该屏幕上的显示。

3 个答案:

答案 0 :(得分:10)

是的,在用户解锁后广播ACTION_USER_PRESENT

http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT

请注意,这是受保护的广播,如果用户使用锁定屏幕替换,例如WidgetLockerNoLockUSER_PRESENT可能无法发送,或者可能是错误发送时间。

要检测WidgetLocker的解锁,请参阅: http://teslacoilsw.com/widgetlocker/developers

答案 1 :(得分:7)

在清单文件中添加接收器

<receiver android:name=".ScreenReceiver">
            <intent-filter>
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>

创建一个广播接收器,可在手机解锁时打开应用程序。

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);
        }
    }

我相信它会奏效。

答案 2 :(得分:2)

查看KeyguardLock类中的disableKeyguard方法。