我是通过我称之为的活动向相机发送意图:
Intent testphoto = new Intent(Dashboard.this,CameraHandler.class);
startActivity(testphoto);
在CameraHandler类中,我调用相机:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 0);
但是在camerahandler类中调用onActivityResult
之前,活动就会被销毁。反正有没有阻止这个?
找到答案: 我的androidmanifest nohistory = true,这使得操作系统在结果之前破坏了活动。
答案 0 :(得分:34)
请确保您没有启用“不要保持活动”开发人员设置,因为它会破坏您要离开的活动。
答案 1 :(得分:3)
当您致电Activity
时,您不必担心调用startActivityForResult()
被破坏,因为它根本不会改变预期的行为(即子活动将记住通过结果返回父母,无论父母是否被销毁)。请参阅此post。
另请注意,虽然有时需要防止Activity
被销毁(即配置更改等),但一般情况下,您希望单独使用Activity
生命周期并让系统生效为您管理背景Activity
。启动新Activity
后,您不应明确阻止先前的Activity
被销毁。
答案 2 :(得分:-1)
您必须在清单中提及
android:persistent="true"
在SO帖子下面回答同样的问题
How to make an activity stop, rather then be destroyed, from the BACK key?