1
public class myReceiver extends BroadcastReceiver {
    public static boolean wasScreenOn = true;

    @Override
    public void onReceive(final Context context, Intent recievedIntent) {

        if (recievedIntent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
            wasScreenOn = false;

            Intent intent = new Intent(context,
                    myActivity.class);
            intent.setAction(Intent.ACTION_MAIN);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            intent.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            context.startActivity(intent
                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));

        } else if (recievedIntent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
            wasScreenOn = true;
        }
    }
}

调用操作屏幕后的活动显示。

我的活动.class

使用 KeyguardManager 禁用Keyguard 并启动服务。在服务中注册接收器。现在当用户关闭设备然后调用 ACTION_SCREEN_OFF 并且当点击主页按钮然后调用 ACTION_SCREEN_ON 但是当我多次按下主页按钮时会出现问题。

4

1 回答 1

0

在接收者标签的清单中添加一行

接收器 android:name=".MyBoardCast" android:enabled="true"

于 2013-07-01T12:38:32.580 回答