앱 스스로 삭제하기

서비스를 종료할 때처럼 이미 설치된 앱을 스스로 삭제해야할 때가 있을 것이다.  마음 같아서는 사용자 모르게 조용히 삭제해서 추후에 발생할 문제를 미연에 방지하고 싶을 것이다. 안드로이드 플랫폼에서 방법이 없는 것은 아니지만 플랫폼 소유자가 사용할 수 있게 주어진 재량으로, 서드파티에게 제공되는 방법은 없다.

대신에 사용자에게 앱을 삭제하겠냐는 다이얼로그를 띄운 후 사용자가 동의한다면 삭제할 수가 있다. 아래의 코드를 참조하면 되고, 추가로 추가해야할 <uses-permission> 같은 것은 없다.

Intent intent = new Intent( Intent.ACTION_DELETE );
intent.setData( Uri.parse( "package:" + this.getPackageName() ));
startActivity(intent);

서드파티 앱은 위 방법을 사용하면 스스로를 삭제할 수 있지만, 시스템 앱이라면 최초 상태(핸드폰 바이너리 시 포함된 버전)로 돌아간다.

간단히 말해, 어플리케이션 매니저의 우측 상단에 위치한 버튼의 역할을 대신하는 코드이다. 서드파티 앱이라면 “삭제(Uninstall)” 버튼을, 시스템 앱이라면 “업데이트 삭제(Uninstall updates)”로 동작한다.

 참조

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.