Java 如何从Intent中提取第一个参数?
我想从Intent方法中提取第一个参数。我怎么能这么做 例如,BroadcastCodes.LOGIN\u BROADCAST是唯一的字符串参数Java 如何从Intent中提取第一个参数?,java,android,Java,Android,我想从Intent方法中提取第一个参数。我怎么能这么做 例如,BroadcastCodes.LOGIN\u BROADCAST是唯一的字符串参数 Utilities.sendLocalBroadcastActivity(new Intent(BroadcastCodes.LOGIN_BROADCAST, null, ServerConnectionManager.this, LoginActivity.class)); 在MainActivity类中,将包括
Utilities.sendLocalBroadcastActivity(new Intent(BroadcastCodes.LOGIN_BROADCAST, null,
ServerConnectionManager.this, LoginActivity.class));
在MainActivity类中,将包括:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progressInfo = findViewById(R.id.splash_screen_progress_info);
Utilities.startService(this, StickyService.class);
localBroadcastManager = LocalBroadcastManager.getInstance(getApplicationContext());
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// How should I extract the first parameter to compare and call other function.
String broadcast = intent.getStringExtra("?");
logger.info("Received broadcast: " + broadcast);
if(?)
{
handleConnectBroadcast(broadcast);
}
}
};
connectionMessagesHandler = new ConnectionMessagesHandler();
}
这是一个如何提取意图数据的示例:
Intent intent = getIntent();
String age= intent.getStringExtra("age");
String name = intent.getStringExtra("name");
在您的代码中,它将是:
public void onReceive(Context context, Intent intent) {
String broadcast = intent.getStringExtra("YOUR_EXTRA_NAME");
在您的评论案例中,您应该添加:
if (intent.getAction().equals(Constants.LOGIN_BROADCAST)){
//code
}
如果我理解,您希望获取第一个参数,即
BroadcastCodes.LOGIN\u BROADCAST
,这是操作参数
使用intent.getAction()代码>
希望有帮助 我发送一个BroadcastCodes.LOGIN\u BROADCAST
,它是另一个带有LOGIN\u BROADCAST
字符串参数的类。如何提取此字符串参数?。我应该只写“BroadCast”吗?我有很多带有BroadcastCodes的变量,所以我不想用诸如LOGIN\u BroadCast
之类的变量来指定。我只需要读取从method参数发送的第一个字符串并调用其他方法。我认为这是您必须为第一个参数指定要使用哪个事件的唯一方法是getAction()
?是的。请参阅构造函数:Intent(字符串操作、Uri、Context packageContext、Class cls)。如果您想传递和检索额外的内容,必须像@solamente answer一样使用它。问题不重复或效率不高。为什么减少-1?
Intent intent = new Intent(ABC.this,XYZ.class);
intent.putExtra("any_key_name","any_value");
startActivity(intent)