防止活动被破坏

时间:2012-05-02 17:31:47

标签: java android android-activity android-camera-intent ondestroy

我是通过我称之为的活动向相机发送意图:

 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,这使得操作系统在结果之前破坏了活动。

3 个答案:

答案 0 :(得分:34)

请确保您没有启用“不要保持活动”开发人员设置,因为它会破坏您要离开的活动。

答案 1 :(得分:3)

当您致电Activity时,您不必担心调用startActivityForResult()被破坏,因为它根本不会改变预期的行为(即子活动将记住通过结果返回父母,无论父母是否被销毁)。请参阅此post

另请注意,虽然有时需要防止Activity被销毁(即配置更改等),但一般情况下,您希望单独使用Activity生命周期并让系统生效为您管理背景Activity。启动新Activity后,您不应明确阻止先前的Activity被销毁。

答案 2 :(得分:-1)