我是靠谱客的博主 勤奋裙子,这篇文章主要介绍android intent.action_screen_on,Android - 如何接收广播意图ACTION_SCREEN_ON / OFF?,现在分享给大家,希望可以做个参考。

"android.intent.action.HEADSET_PLUG"

"android.intent.action.ACTION_SCREEN_ON"

"android.intent.action.ACTION_SCREEN_OFF"

其中三个,他们无法使用Manifest注册。Android核心向他们添加了“Intent.FLAG_RECEIVER_REGISTERED_ONLY”(也许..我只检查了代码“HEADSET_PLUG”)。

所以,我们应该使用“动态寄存器”。如下......

private BroadcastReceiver mPowerKeyReceiver = null;

private void registBroadcastReceiver() {

final IntentFilter theFilter = new IntentFilter();

/** System Defined Broadcast */

theFilter.addAction(Intent.ACTION_SCREEN_ON);

theFilter.addAction(Intent.ACTION_SCREEN_OFF);

mPowerKeyReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

String strAction = intent.getAction();

if (strAction.equals(Intent.ACTION_SCREEN_OFF) || strAction.equals(Intent.ACTION_SCREEN_ON)) {

// > Your playground~!

}

}

};

getApplicationContext().registerReceiver(mPowerKeyReceiver, theFilter);

}

private void unregisterReceiver() {

int apiLevel = Build.VERSION.SDK_INT;

if (apiLevel >= 7) {

try {

getApplicationContext().unregisterReceiver(mPowerKeyReceiver);

}

catch (IllegalArgumentException e) {

mPowerKeyReceiver = null;

}

}

else {

getApplicationContext().unregisterReceiver(mPowerKeyReceiver);

mPowerKeyReceiver = null;

}

}

最后

以上就是勤奋裙子最近收集整理的关于android intent.action_screen_on,Android - 如何接收广播意图ACTION_SCREEN_ON / OFF?的全部内容,更多相关android内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(180)

评论列表共有 0 条评论

立即
投稿
返回
顶部