Android:Intent-FLAG_ACTIVITY_NO_HISTORY无效

tee*_*kib 3 android android-intent

我有三个活动说ABC,从活动A我去B和搜索城市和活动B我去活动c,在我保存我放入异步任务的东西,这将保存在Activit A listview,问题是在我按回按钮后保存在列表中我再次看到活动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";
            }
        }
Run Code Online (Sandbox Code Playgroud)

zen*_*non 19

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

希望这可以帮助..


waq*_*lam 9

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

Intent i = new Intent(getBaseContext(), Activity_A.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

  • 您好,对不起,实际上是itz与Intent一起工作。FLAG_ACTIVITY_CLEAR_TOP),谢谢 (2认同)