Android 发送广播不工作

Android 发送广播不工作,android,Android,我一直在尝试实现自定义的Bradscart。但是当我注册它时,我的意图返回null。我不知道这里出了什么问题 ? 我的活动在这里 private MyReciever mReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.mReceiver = new MyReciever(); Intent r

我一直在尝试实现自定义的Bradscart。但是当我注册它时,我的意图返回null。我不知道这里出了什么问题 ?

我的活动在这里

private MyReciever mReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.mReceiver = new MyReciever();
    Intent result=registerReceiver(this.mReceiver, new IntentFilter(
            "com.example.Broadcast"));
    int status = result.getIntExtra("HighScore",0);
    System.out.println(status+"  Yahoo");
    setContentView(R.layout.activity_main);
    for (int i = 0; i < 10; i++) {

        try {               
            if (i == 7) {
                // MyReciever mr=new MyReciever();
                    Intent intent = new intent();               
                intent.setAction("com.example.Broadcast");
                intent.putExtra("HighScore", 1000);
                sendStickyBroadcast(intent);
                break;

            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

@Override
protected void onStop() {
    // TODO Auto-generated method stub
    super.onStop();
    unregisterReceiver(mReceiver);
}
我已在android mainfest文件中授予权限

     <uses-permission android:name="android.permission.BROADCAST_STICKY"/>


它将返回
null
,因为在您调用
registerReceiver()
在清单文件中声明您的接收者时,该操作尚未广播任何内容

<receiver
        android:name=".MyReceiver"

    </receiver>

“执行一个“粘性”的sendBroadcast(Intent),这意味着您发送的意图在广播完成后仍然存在,以便其他人可以通过registerReceiver(BroadcastReceiver,IntentFilter)的返回值快速检索该数据。在所有其他方面,这与sendBroadcast(Intent)的行为相同。”@user2130718:文档中没有说Android有时间机器。在调用
sendStickyBroadcast()
之前,您正在调用
registerReceiver()
。这没关系,但在发送stickybroadcast之前,我们需要先注册它。什么是好方法?@user2130718:好的,好方法就是不要使用粘性广播。我猜每1000个应用中只有不到一个需要它们。除此之外,欢迎您首先调用
registerReceiver()
,但您的代码中需要有逻辑来处理
null
registerReceiver()
返回的数据。我需要通过stickybroadcast来实现这一点。它希望通过使用粘性广播来实现它。根据文档,它将在何时返回意图。我需要一个例子。我想我已经动态注册了它,所以不需要在mainfest文件中定义
<receiver
        android:name=".MyReceiver"

    </receiver>