Android:Intent-FLAG_ACTIVITY_NO_HISTORY无效

时间:2012-12-06 10:57:00

标签: android android-intent

我有三个活动说A B C,从活动A我去B和搜索城市,从活动B到活动c,在我保存我放入异步任务的东西  这将保存在Activit A列表视图中,问题是在我按回按钮后保存在列表中我再次看到活动A没有保存我之前保存的名称

private class Savecity extends AsyncTask<city, String, String> {

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            if(result != null && result.equals("sucess")){

            Intent intent = new Intent(activity, cityActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
            startActivity(intent);}

        }
        @Override
        protected String doInBackground(city... arg0) {
            try {
                ((CityPreferences) activity.getApplication()).createcity(arg0[0]);

                return "sucess";
            } catch (Exception e) {
                Log.e(TAG, "", e);
                return "fail";
            }
        }

2 个答案:

答案 0 :(得分:18)

您可以在AndroidManifest.xml文件中实现此功能,只需在您想要的android:noHistory="true"中添加<activity>属性

希望这会有所帮助..

答案 1 :(得分:7)

实际上在您的活动C中,当您尝试重新调用活动A时,您需要做的就是清除活动堆栈。例如:

Intent i = new Intent(getBaseContext(), Activity_A.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);