Java 收放广播接收机

Java 收放广播接收机,java,android,broadcastreceiver,Java,Android,Broadcastreceiver,如何获得我在广播接收机中输入的值? 请帮帮我 在我的活动中 public static void startActivity(Context context) { //what can i put here? } 意向服务 intent.putExtra("DriversID", 1351351); sendBroadcast(intent); 我的广播接收器 public class GcmBroadcastReceiver extends WakefulBroadcastRecei

如何获得我在广播接收机中输入的值? 请帮帮我

在我的活动中

public static void startActivity(Context context) {
   //what can i put here?
}
意向服务

intent.putExtra("DriversID", 1351351);
sendBroadcast(intent);
我的广播接收器

public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {

   @Override
    public void onReceive(Context context, Intent intent) {

     Bundle bundle = intent.getExtras();

    String DriversID = null;
    if (bundle != null) {
        DriversID = bundle.getString("DriversID");
        Toast.makeText(context, "DriversID", Toast.LENGTH_LONG).show();
    }

    Intent i = new Intent(context, DashboardActivity.class);
    i.putExtra("getDriversID", DriversID);
    context.startActivity(i);


    ComponentName comp = new ComponentName(context.getPackageName(),
            GcmIntentService.class.getName());
    startWakefulService(context, (intent.setComponent(comp)));
    setResultCode(Activity.RESULT_OK);
     }
}

下面是确切的场景,当GCM通知我我将从inten获得消息并将其发布到广播,然后活动将获得消息的值,怎么样?

您可以在活动中创建广播接收器:

    private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {

        // Extract data included in the Intent
        // String message = intent.getStringExtra("message");
        // do other stuff here
    }
};
然后,您应该在onResume中注册您的活动,例如:

this.registerReceiver(mMessageReceiver, new IntentFilter("unique_name"));
请记住在onPause中取消登录,选择适合您需要的内容:

protected void onPause() {
        super.onPause();
        this.unregisterReceiver(mMessageReceiver);
}
要发送数据,您可以使用以下方法:

Intent intent = new Intent("unique_name");

    // put whatever data you want to send, if any
    // intent.putExtra("message", "some data");

    // send broadcast
    context.sendBroadcast(intent);
}
这就行了。 为意图设置操作并发送广播

intent.setAction(action);
并检查receiver中的操作以找到意图

 public void onReceive(Context context, Intent intent) {
    if(intent.getAction().equals(action))
    String DriversID = intent.getStringExtra("DriversID");
    }

谢谢,那么如何获取广播驱动程序id并将其发送给活动呢?我已经更新了我的问题,遗憾的是我仍然没有得到它:下面是确切的场景,当GCM通知我时,我将从inten获得消息并将其发布到广播,然后活动将获得消息的值,怎么样?啊,先生,我有点困惑,你能确切地告诉我我要放什么吗?发送部分在你的Gcm广播接收器中,接收部分在你的活动中