使用此BroadcastReceiver,我可以在每次设备屏幕关闭时启动活动。唯一的问题是相同的活动开始2次。我不明白的问题Android BroadcastReceiver开始活动
public class ScreenReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
intent = new Intent(context, Login2.class);
context.startActivity(intent);
}
}
}
起动接收到的OnCreate活动
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_SCREEN_ON);
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, intentFilter);
清单
<receiver android:name="utils.ScreenReceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF" />
<action android:name="android.intent.action.SCREEN_ON" />
</intent-filter>
</receiver>
你是否在活动的生命周期中注册/注销接收者? – denispyr