펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO


Uri uri = Uri.fromParts("package", "패키지명", null);

Intent delIntent = new Intent(Intent.ACTION_DELETE, uri);

startActivity(delIntent);


메소드를 하나 만들어서 패키지명을 인자로 넘겨받으면


입력값으로 넘어온 패키지를 삭제할 수 있다.


바로 삭제가 되는것이 아니라, 삭제가 가능한 화면을 띄워주는것이다.


어플단에서 바로 삭제처리하는것은 일반적으로 불가능하다고 보면 된다.



설치된 패키지 정보를 보는 방법은 이전 포스팅을 보면 된다.



펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO




private void getPackageList() {

PackageManager pm = this.getPackageManager();


List<PackageInfo> packs =                   getPackageManager().getInstalledPackages(PackageManager.PERMISSION_GRANTED);

Log.i("TAG", "===================================================");

for (PackageInfo pack : packs) {

Log.d("TAG", "| name    : " + pack.packageName);

      Log.d("TAG", "| package : " + pack.packageName);

      Log.d("TAG", "| version : " + pack.versionName);

}

Log.i("TAG", "===================================================");

}



휴대폰에 설치 된 패키지명과 어플명, 버전을 가져온다.



public void onRemovePackage(String removePackage) {

Uri uri = Uri.fromParts("package", removePackage, null);

Intent intent = new Intent(Intent.ACTION_DELETE, uri);

startActivity(intent);

}


removePackage로 받아 온 패키지명의 어플을 삭제하겠냐는 팝업이 나타나고, 해당 패키지를 삭제한다.


호출은 


onRemovePAckage("com.example.test");




펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO


패키지명을 입력하면 설치 여부를 알려주는 소스코드


PackageInfo pi;  

try {

String strAppPackage = "패키지명 (ex : com.exam.googlemap)";

pi = getPackageManager().getPackageInfo(strAppPackage,  PackageManager.GET_ACTIVITIES);

}

catch (PackageManager.NameNotFoundException e) {

//패키지가 설치되지 않음

}


버전을 구하고싶다면


String str = pi.versionName;