我是靠谱客的博主 勤奋裙子,最近开发中收集的这篇文章主要介绍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 intent.action_screen_on,Android - 如何接收广播意图ACTION_SCREEN_ON / OFF?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部