我们遇到了本地广播问题。出于某种原因,在2个机器人(我自己的电话+老板的手机),它工作正常。在另一部手机(像我的老板那样的银河s3 mini)和老板的平板电脑上,它却崩溃了。如果tmp.sendBroadcast命令不是马上就会发生程序崩溃(在此之后它仍然有点)。然而,它永远不会到达接收器。Android localbroadcast导致应用程序崩溃
public class UpdaterIntent extends IntentService {
...
Intent intent = new Intent("my-event");
intent.putExtra("action", "update_workplaces");
intent.putExtra("parameters", time);
LocalBroadcastManager'tmp=LocalBroadcastManager.getInstance(myInst);
if(tmp!=null) {
tmp.sendBroadcast(intent);
}
我已经注册接收这样的:
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
new IntentFilter("my-event"));
接收机是这样的:
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(myContext, "received message", Toast.LENGTH_SHORT).show();
}
}
};
我试图寻找一些原因,它可能是这样。认为它可能是太长的参数putExtra,但即使修剪它后两个字符串(一个在代码中看到,一个只是一个来自服务器的日期,如“2014-03-28 12:20:02”等,所以现在在那里不应该超过一些硬编码限制的危险。
有什么建议?不喜欢的任何变通办法,以这一点,我已经拿出笨手笨脚的地狱。
你有任何机会post logcat? – nikis
如果你没有正常使用它进行调试,那么在模式下调试模式是不合需要的吗?不得不推销为他们的个人设备切换模式的想法。崩溃不会发生在任何设备上这是为了发展(pa特别是我的手机。如果它发生的话,会更容易)。也许下周我可以把手放在手机上。除非有办法,他们可以通过电话本身通过电子邮件上传(我怀疑他们会愿意去学习如何使用adb控制台的麻烦) – user1396135