마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 History 삭제 관련

0 추천
삼성 또는 엘지 모바일 등 안드로이드 장비에서

사용했던 혹은 사용중인 앱목록을 볼 수 있습니다만,

예를 들어, 삼성 모바일 같은 경우에는

홈버트를 길게 눌러 사용했던 사용중인 모든 앱의 목록을 불러올 수 있습니다.

이 경우, 슬라이드를 하여 지우면 히스토리에서 사라지게 됩니다.

 

결론, 앱 종료 시 히스토리에서 아예 삭제를 하여,

홈버튼을 길게 눌러도 보여지지 않게 할 수 있게 하고 싶은데

도움 주시면 감사합니다..
쮸뿌쮸뿌 (2,470 포인트) 님이 2016년 8월 17일 질문

2개의 답변

0 추천

매니페스트에 액티비티에서

noHistory란게 있을거에요 "true"

코드로는 FLAG_ACTIVITY_NO_HI‌​STORY

익명사용자 님이 2016년 8월 17일 답변
매니페스트에 noHistory="true"로 주고 해봤지만,
역시나 홈버튼 길게 누르면 목록에 보여집니다..
0 추천
android:excludeFromRecents="true"

를 넣어보세요

prague (26,200 포인트) 님이 2016년 8월 17일 답변
이 방법도 사용해봤는데, 앱 싱행 중 홈버튼으로 잠시 홈화면으로 가도 리스트에서 사라지더라구요.. 저는 메인에서 백버튼 클릭시 팝업이 뜨며 그 팝업에서 OK 버튼을 클릭 시에만 앱을 리스트에서 삭제하고 싶은건데..finishAndRemoveTask()를 사용해봤지만, API21 이상만 지원가능하다고 하네요. 저는 4.0.3 부터 지원할 예정인데..다른 방법이 없을까요
popup이 activity type이고, PopupActivity라고 가정할께요
startActivity시에 intent.addFlag(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
를 추가해보세요
@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
            // 팝업을 띄움

            AlertDialog dialog;
            dialog = new AlertDialog.Builder(this).setTitle("SPP-100G TestApp")
                    .setMessage("Are you sure you want to quit?").setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        @SuppressLint("NewApi")
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                            finish();
                           
                        }
                    }).setNegativeButton("No", new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                            dialog.cancel();
                        }
                    }).show();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

이렇게 처리하고 있는데 Intent가 사용이 가능한가요? 모바일의 back버튼 클릭시 dialog가 뜨는건데..
열심히 문제 해결해보다가 시간이 안되서 여기까지만 답변드릴께요
yes 버튼을 눌렀을때
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    finishAndRemoveTask();
} else {
    finish();
}
finishAndRemoveTask() 를 API 21 아래에서 쓸수 있는 방법을 검색해 보시면 될것 같아요
여러가지 나오던데 몇개밖에 테스트를 못해봤네요
Lollipop버전부터는 정상동작 할겁니다
그리고 혹시 해결하시면 해결법도 좀 올려주세요... 궁금하네요 ㅎㅎ
...