Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

안드로이드에서 프로그래밍 방식으로 APK 제거하는 방법

개요

이 튜토리얼에서는 안드로이드 앱 내부에서 프로그래밍 방식으로 다른 앱(APK)을 제거(삭제)하는 방법을 단계별로 살펴봅니다. 핵심은 Intent.ACTION_DELETE 인텐트를 사용해 시스템의 앱 삭제 화면을 호출하는 것입니다.

1단계 — 새 프로젝트 생성

Android Studio를 실행한 뒤 File ⇒ New Project 메뉴로 이동하여 새 프로젝트를 생성하고, 필요한 모든 세부 정보를 입력합니다.

2단계 — 레이아웃 파일 작성

다음 코드를 res/layout/activity_main.xml에 추가합니다.

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
   android:orientation = "vertical"
   android:layout_width = "match_parent"
   android:gravity = "center"
   android:layout_height = "match_parent">
   <TextView
      android:id = "@+id/text"
      android:layout_width = "fill_parent"
      android:gravity = "center"
      android:textSize = "30sp"
      android:layout_height = "wrap_content"
      android:text = "Click here" />
</LinearLayout>

위 코드에서는 클릭 이벤트를 받을 텍스트뷰 하나를 배치했습니다.

3단계 — MainActivity 코드 작성

다음 코드를 src/MainActivity.java에 추가합니다.

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
   TextView text;
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      text = findViewById(R.id.text);
      text.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Intent intent = new Intent(Intent.ACTION_DELETE);
            intent.setData(Uri.parse("package:com.example.myapplication"));
            startActivity(intent);
         }
      });
   }
}

위 코드의 동작 원리는 다음과 같습니다.

  • Intent.ACTION_DELETE: 특정 패키지를 삭제하겠다는 요청을 시스템에 전달하는 인텐트 액션입니다.
  • Uri.parse("package:..."): 삭제할 앱의 패키지 이름을 데이터로 지정합니다.
  • startActivity(intent): 시스템의 앱 삭제 확인 대화상자를 띄웁니다. 사용자가 확인하면 해당 앱이 제거됩니다.

4단계 — 매니페스트 권한 설정 (권장)

일부 기기 및 최신 안드로이드 버전(Android 10 이상)에서는 삭제 요청이 정상적으로 처리되도록 AndroidManifest.xml에 아래 권한을 선언하는 것이 좋습니다.

<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES"/>

5단계 — 앱 실행 및 결과 확인

실제 안드로이드 기기를 컴퓨터에 연결했다고 가정하고 앱을 실행해 보겠습니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤 툴바의 Run 아이콘을 클릭하고, 목록에서 자신의 모바일 기기를 선택하세요. 그러면 기기에 아래와 같은 기본 화면이 표시됩니다.

안드로이드에서 프로그래밍 방식으로 APK 제거하는 방법

이제 홈 버튼을 눌러보면 다음과 같은 결과가 나타납니다.

안드로이드에서 프로그래밍 방식으로 APK 제거하는 방법

마무리

이처럼 ACTION_DELETE 인텐트만으로 복잡한 로직 없이 간단히 앱 삭제 기능을 구현할 수 있습니다. 참고로 직접 삭제를 수행하는 것이 아니라 항상 시스템 확인 창을 거치므로, 사용자 동의가 필요한 안전한 방식이라는 점도 기억해 두세요.