我正尝试将服务中的广播发送到活动。我可以验证广播是从服务内发送的,但活动不会收到任何内容。
以下是相关的服务代码:
Intent i = new Intent(NEW_MESSAGE);
i.putExtra(FriendInfo.USERNAME, StringUtils.parseBareAddress(message.getFrom()));
i.putExtra(FriendInfo.MESSAGE, message.getBody());
i.putExtra("who", "1");
sendBroadcast(i);
活动类中的接收端:
public class newMessage extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if(action.equalsIgnoreCase(IMService.NEW_MESSAGE)){
Bundle extra = intent.getExtras();
String username = extra.getString(FriendInfo.USERNAME);
String message = extra.getString(FriendInfo.MESSAGE);
String who = extra.getString("who");
}
}
}
编辑 注册如下:
registerReceiver(messageReceiver, new IntentFilter(IMService.NEW_MESSAGE));
其中“messageReceiver”被定义为 :
private newMessage messageReceiver = new newMessage();
发布于 2018-04-10 20:21:01
我不确定它是否特定于设置,或者它是否是一般性修复,但是移动register/unregister
到onResume/onPause
_respectively_
而不是注册以onCreate
解决问题。
发布于 2018-04-10 21:21:22
试试这两件事情:
https://stackoverflow.com/questions/-100008050
复制相似问题