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广播接收器中,接收部分在你的活动中