我使用startActivityForResult开始活动。内部启动活动我想使用finishActivityFromChild完成调用活动。但它不起作用。可能还有其他方法。
答案 0 :(得分:2)
是否有理由在子活动中杀死父活动?您是否只想在启动孩子后立即杀死父母?如果父活动没有使用从子活动返回的结果,并且刚刚被子活动杀死,我没有看到使用startActivityForResult()的意义。
如果您在开始新活动后根本不需要父活动,则可以使用以下代码:
Intent intent = new Intent(this, MyNextActivity.class);
startActivity(intent);
finish();
如果您希望实际将结果从子活动返回到父活动,然后完成父活动,则必须通过完成子活动返回父活动,以便在父活动中使用onActivityResult()要运行的活动。如果子活动需要返回一个结果来处理它本身无法完成的事情,那么您可能需要一个服务来处理它。
答案 1 :(得分:0)
如果你启动了ActivityAresult,那么如果你杀死了父活动,结果又会怎样?简单地锁定子活动中的后退按钮可能更容易,因此用户必须启动应用程序才能恢复它。可能有一些(非常不受推荐的)方式来获取对您的父活动的引用并将其存储在应用程序中并按照这种方式执行,如果您真的必须这样做,但我相信每个人和他们的母亲都会告诉您这是一个可怕的想法。