如何知道从上下文开始的活动?

时间:2013-09-13 03:47:53

标签: android broadcastreceiver screen-lock

我有一个LockScreenReceiver扩展BroadcastReceiver类,并希望每次关闭屏幕时启动锁定屏幕意图。但是我如何检查Context已经开始给定的活动,所以我不必重新开始。

@Override
public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
        isScreenOn = false;
        LockServiceManager.getInstance().Initialize(context);
        Intent lockIntent = LockServiceManager.getInstance().getLockScreenActivityIntent();
        lockIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(lockIntent);
    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
        isScreenOn = true;
        // TODO Start activity if the device has been sleep for a long time.
    } else if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
        Intent lockIntent = LockServiceManager.getInstance().getLockScreenActivityIntent();
        lockIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(lockIntent);
    }
}

1 个答案:

答案 0 :(得分:1)

public void onResume(){   
 Filter = new IntentFilter();
    Filter.addAction("RECEIVED_ACTION");
    activity.registerReceiver(Receiver, Filter);
}

我希望它对你有用。