如何我发起一个活动,意图在新的活动传递变量?
-
27-09-2019 - |
题
所以现在我用我的应用程序斑马线条形码扫描器。下面是示例代码(通用):
if(position == 0){
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
contents = intent.getStringExtra("SCAN_RESULT");
format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
Intent i = new Intent(Main.this, BarcodeScanner.class);
startActivity(i);
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
所以启动BarcodeScanner.class
的时候,我也想contents
传递到它。我怎么会去这样做呢?
解决方案
使用捆绑内部意图以从一个活动到传递数据其他。在你的情况,你会做这样的事情 -
Intent intent = new Intent(Main.this,BarcodeScanner.class);
//load the intent with a key "content" and assign it's value to content
intent.putExtra("content",contents);
//launch the BarcodeScanner activity and send the intent along with it
//note that content is passed in as well
startActivity(intent);
的信息被存储在一个“包”对象,该意图内生活 - 当调用意图对象的putExtras()方法
创建捆绑其他提示
以同样的方式在调用"SCAN_MODE"
前通过putExtra("some key", contents)
其他活动,通过调用startActivity()
,然后里面BarcodeScanner呼叫this.getIntent().getStringExtra("some key")
不隶属于 StackOverflow