我正在尝试使用NotificationListener来获取即将发布的通知。两天前,我的班级是一项活动,一切正常。该服务已启动,并在我的视图中显示了通知,其中包含标题,图标及其说明。昨天我实现了新的导航视图,因此,我将活动更改为片段。之后通知没有显示出来。服务启动,但如果我尝试调试Broadcastreceiver(在片段内)不起作用。如果我尝试在其中创建一些日志它们不起作用。我想广播接收器不会在这一点上开始!这是Broadcastreceiver
/**
* Broadcast receiver notifications
***/
private BroadcastReceiver onNotice= new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String pack = intent.getStringExtra("package");
String title = intent.getStringExtra("title");
String text = intent.getStringExtra("text");
if(!pack.equals("") || !title.equals("") || !text.equals("")) {
notificationLayout.setVisibility(View.VISIBLE);
notificationTitle.setText(title);
notificationDescription.setText(text);
try {
icon = getActivity().getPackageManager().getApplicationIcon(pack);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
notificationImage.setImageDrawable(icon);
} else {
notificationLayout.setVisibility(View.INVISIBLE);
}
}
};
在片段的onResume()方法中我写了这个:
LocalBroadcastManager.getInstance(getActivity()).registerReceiver(onNotice, new IntentFilter("Msg"));
我不知道班级类型的变化是否是这个问题的原因,但这是我所做的唯一改变。