调用startActivityForResult()时调用onDestroy()

时间:2011-11-09 13:21:15

标签: android android-intent

我从GPS设置返回时遇到问题。我想检查GPS是否已启用,但由于某些原因,不仅onStop()从调用Activity调用,而且onDestroy,当我从Settings返回时,由于Activity已被销毁,我到达主屏幕。我不知道是什么触发了这种行为,因为在另一个应用程序中相同的代码工作并返回。这是一个简单的电话:

    case(GPS_SWITCHER):{
          Intent intent = new Intent("android.settings.LOCATION_SOURCE_SETTINGS");
         //intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
         startActivityForResult(intent,REQUEST_CODE);
    }

我尝试使用Intent的标志但是没有解决它。我也试过从PreferenceActivity调用Intent,但是这个调用已经杀死了主应用程序:-) 有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

检查您是否在Manifest文件的活动代码中编写noHisory="true"并将其删除。 还检查其他不适当的参数。

答案 1 :(得分:1)

您在break;声明中忘记了case。这意味着下面的代码也会被执行。