BroadCastReciever如何在不绑定的情况下与服务通信?
我认为在BroadCastReceiver中使用活页夹是一个好主意,但是在阅读了一些信息后,我知道这不是一个好主意。 我试图在stackoverflow中找到问题,但是我发现的只是:
Q:“ BroadCastReciver +活页夹”
A:“不,这是个坏主意。”(不提供示例,说明如何在没有粘合剂的情况下与服务进行通信)
答案 0 :(得分:0)
解决方案-LocalBroadcastManager。 感谢LocalBroadcastManager,我们可以在应用程序的不同部分之间发送广播。
SEND_BROADCAST
test = pd.DataFrame({'psnum':[0,1],'scale':[1,1],'mPower':[4.89842,5.67239]})
test
psnum scale mPower
0 0 1 4.89842
1 1 1 5.67239
test['scale']=test['scale']*(test['mPower'].max()/test['mPower']).round(2)
test
psnum scale mPower
0 0 1.16 4.89842
1 1 1.00 5.67239
接收广播
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);
IntentFilter filter = new IntentFilter("com.onezero.EXAMPLE_ACTION");
localBroadcastManager.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "=(", Toast.LENGTH_SHORT).show();
}
}, filter);
Intent sintent = new Intent("com.onezero.EXAMPLE_ACTION");
localBroadcastManager.sendBroadcast(sintent);