由于要跟其他应用程序进行广播通信,所以自己写好这边代码之后写了个demoapk跟自己的进行测试。
自己的APK简称A,测试APK简称B
B在启动时发送了广播消息MSG1,A收到消息MSG1之后回个广播消息MSG2,
问题:B很难接收到MSG2(测试时偶尔能接收到一次),根据打印日志是知道A是发出了MSG2的。代码如下:
应用程序 A(A的AndroidManifest.xml加了广播消息注册):
public class BootBroadcastReceiver extends BroadcastReceiver{
static final String REQUESTMSG = "REQUESTMSG";
static final String ANSWERMSG = "ANSWERMSG";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(intent.getAction().equals(REQUESTMSG)){
Toast.makeText(arg0, "REQUESTMSG", Toast.LENGTH_LONG).show();
String str = "answer msg";
Intent it = new Intent(ANSWERMSG);
it.putExtra("msg", str);
context.sendBroadcast(it);
}
}
}
应用程序 B(代码注册广播消息,在AndroidManifest.xml不用增加广播消息注册):
public class MainActivity exte