使用BroadcastReceiver的清单中的ACTION_USER_PRESENT

use*_*614 9 android broadcastreceiver android-manifest

关于是否可以通过清单捕获ACTION_USER_PRESENT屏幕解锁似乎有不同的意见.

这个线程意味着不能做到这一点:

Android广播接收器无法正常工作

这个帖子暗示可以做到:

ACTION_USER_PRESENT,ACTION_SCREEN_ON,ACTION_BOOT_COMPLETED的广播接收器

我无法使用2.3.3或3.2仿真器使用该事件.

有没有其他人有这方面的经验?或许可以分享一个代码示例?

ste*_*teo 10

使用接收器:

public class Receive extends BroadcastReceiver {

if (intent.getAction() != null) {
            if
                    ( intent.getAction().equals(Intent.ACTION_USER_PRESENT)) {
Intent s = new Intent(context, MainActivity.class);
                    s.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                    context.startActivity(s);
}}
Run Code Online (Sandbox Code Playgroud)

在你的清单中:

    <receiver
        android:name=".Receive"
        android:enabled="true"
        android:exported="false">
        <intent-filter>
            <action android:name="android.intent.action.USER_PRESENT"/>
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)