0

我们在本地广播方面遇到了问题。出于某种原因,在 2 个机器人(我自己的手机 + 老板的手机)中它工作正常。在另一部手机(像我的老板一样的银河 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”等,所以现在有不应该有超过一些硬编码限制的危险。

有什么建议么?不喜欢任何我想出的笨拙的解决方法。

4

1 回答 1

0
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
于 2014-03-28T09:54:05.990 回答