我有两个应用程序,A 和 B。
我从 A 启动 B 以获取结果,使用以下代码:
Intent fmIntent = getPackageManager().getLaunchIntentForPackage("com.example.B");
fmIntent.putExtra("hello", "world");
startActivityForResult(fmIntent, REQUEST_TEST);
从 B 开始,我正在执行以下操作:
getIntent().putExtra("completed", true);
setResult(RESULT_OK, getIntent());
finish();
如果我对同一应用程序中的活动执行上述操作,它将按预期工作。
但是,由于它是两个不同的应用程序,我收到一个空意图,没有数据和未设置的结果代码。我应该如何编辑上述内容以确保始终保持一个意图?
Use setFlags(0)
清除可以通过以下方式创建的所有标志getLaunchIntentForPackage
:
Intent fmIntent = getPackageManager().getLaunchIntentForPackage("com.example.B");
fmIntent.setFlags(0);
fmIntent.putExtra("hello", "world");
startActivityForResult(fmIntent, REQUEST_TEST);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)