我有一个BarcodeReaderActivity,我将在几个活动中开始,在开始此Activity之前,我想为此Activity传递destination BarcodeReaderActivity类,因此在阅读QR码后,我希望它用Activity打开目标Intent

我的第一个解决方案是将目标类名称作为字符串传递,并在BarcodeReaderActivity中使用切换大小写,并为该类编写特定的Intent

我还尝试过先将BarcodeReader创建为Fragment,但是随后当我启动目标Activity然后删除Fragment时,它会在短时间内显示先前的Activity,但是我不希望那样即将发生。

如果您知道更好的方法,我想从您那里得到一些建议。

最佳答案

您可以在Intent之外构建所需的BarcodeReaderActivity,并将其作为额外的传递。如果需要,您可以稍后在BarcodeReaderActivity中更改此意图。
像这样:

Intent finalIntent = new Intent( context, FinalActivity.class );
Intent barcodeIntent = new Intent( context, BarcodeReaderActivity.class );
barcodeIntent.putExtra( "finalintentkey", finalIntent);
context.startActivity(barcodeIntent);


然后在您的BarcodeReaderActivity中检索意图(并根据需要对其进行修改):

Intent finalIntent = getIntent().getParcelableExtra( "finalintentkey" );
// if needed modify intent here
finalIntent.addExtra( "somekey", someneededvalue );
startActivity( finalIntent );

// BarcodeReaderActivity can be finished now
finish();

关于android - 如何将类对象传递给 Activity ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30145158/

10-10 06:58