【发布时间】:2015-09-13 10:51:49
【问题描述】:
我正在尝试在屏幕打开或关闭时接收通知。我注册了一个广播接收器,如下所示。
但是当我按下边缘右上角的按钮时,会调用接收器,但代码中显示的日志语句不显示。
请告诉我更正它
代码:
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
switch (action) {
case Intent.ACTION_SCREEN_ON:
Log.w(TAG, SubTag.msg("onReceive", "Intent.ACTION_SCREEN_ON"));
break;
case Intent.ACTION_SCREEN_OFF:
Log.w(TAG, SubTag.msg("onReceive", "Intent.ACTION_SCREEN_OFF"));
break;
default:
Log.w(TAG, SubTag.msg("onReceive", "UNHANDLED CASE"));
break;
}
}
更新:
我在onstart中注册了接收器,如下:
registerReceiver(this.mScreenReceiver, new IntentFilter(intent.ACTION_SCREEN_ON))
registerReceiver(this.mScreenReceiver, new IntentFilter(intent.ACTION_SCREEN_OFF))
【问题讨论】:
-
您是否在清单中注册了接收方?
Log也没有出现在屏幕上,也许你想用敬酒。 -
@SaNtoRiaN 你的意思是许可吗?不,我没有添加任何权限。我是不是该?请告诉我是哪一个
-
@user2121 ,您是否尝试过 Log.d 而不是 Log.w (可能是我在首选项中看不到 Log.w)?必须尝试通过调试断点捕获“onRecieve”?
-
@user2121,你有没有直接试过这个例子:stackoverflow.com/a/14834160/1979882?
标签: android android-intent broadcastreceiver android-broadcast