我有一个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/