Android localbroadcast导致应用程序崩溃

时间:2014-03-28 08:34:35

标签: android crash localbroadcastmanager

我们在本地广播方面遇到麻烦。由于某种原因,在2个机器人(我自己的手机+老板的手机),它工作正常。在另一部手机(像我的老板这样的Galaxy s3 mini)和老板的平板电脑上它会崩溃。如果tmp.sendBroadcast命令是但不是立即执行程序崩溃(之后它仍然有点)。然而,它永远不会到达接收者。

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”等所以现在那里不应该超过一些硬编码限制的危险。

有什么建议吗?不喜欢任何解决方法,我已经想到了笨拙的地狱。

1 个答案:

答案 0 :(得分:0)

LocalBroadcastManager.getInstance(this).sendBroadcast(intent);