일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 방울토마토키우기
- 메이플
- 2in1무선충전기
- 메이플스토리M
- 스투키
- 겨울나기
- 집 방울토마토
- 안방농사
- 괌맛집
- 방울토마토 유기농
- 안드로이드
- 어플만들기
- 휴대용무선충전기
- 핫엔드
- Ender 3 V3 KE
- 보일러절약
- 에어팟충전기
- 방울토마토 씨부터 키우기
- 다이소 방울토마토키트
- 신혼여행
- 다크나이트
- Android
- 다이소 방울토마토
- 쿠폰나눔
- 맥세이프충전기
- 괌 신혼여행
- 메이플스토리
- 집에서 방울토마토 키우기
- 괌
- 방토 농사
Archives
- Today
- Total
괴도군의 블로그
[android]앱에서 앱설치,삭제코드 본문
반응형
다운로드폴더에 들어있는 apk설치소스입니다.
적절히 가져다 쓰시면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | public void install(Context context, ApplicationInfo applicationInfo) { if(isInstalledApplication(context, applicationInfo)){ return; } File apkFile = new File(Environment.getExternalStorageDirectory().toString() + "/" + Environment.DIRECTORY_DOWNLOADS+"/"+applicationInfo.getAppName()); Uri apkUri = Uri.fromFile(apkFile); try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } } public void remove(Context context, ApplicationInfo applicationInfo) { if(!isInstalledApplication(context, applicationInfo)){ return; } Intent intent = new Intent(Intent.ACTION_DELETE).setData(Uri .parse("package:" + applicationInfo.getAppUri())); context.startActivity(intent); } public void update(Context context, ApplicationInfo applicationInfo) { if(!isInstalledApplication(context, applicationInfo)){ return; } File apkFile = new File(Environment.getExternalStorageDirectory().toString() + "/" + Environment.DIRECTORY_DOWNLOADS+"/"+applicationInfo.getAppName()); Uri apkUri = Uri.fromFile(apkFile); try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } } private boolean isInstalledApplication(Context context, ApplicationInfo applicationInfo) { android.content.pm.ApplicationInfo appInfo = null; final PackageManager pm = context.getPackageManager(); try { appInfo = pm.getApplicationInfo(applicationInfo.getAppUri(), PackageManager.GET_META_DATA); } catch (NameNotFoundException e) { e.printStackTrace(); } if (appInfo != null) return true; else return false; } public class ApplicationInfo { private String appName; private String appUri; private String version; public ApplicationInfo(String appName, String appUri, String version) { this.appName = appName; this.appUri = appUri; this.version = version; } public String getAppName() { return appName; } public void setAppName(String appName) { this.appName = appName; } public String getAppUri() { return appUri; } public void setAppUri(String appUri) { this.appUri = appUri; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } } | cs |
반응형
'#프로그래밍 > Android' 카테고리의 다른 글
Android Studio Log 출력방법(태그를 빼먹지말자!) (0) | 2015.12.30 |
---|---|
[android]안드로이드 어플 강제 홈키 / 백그라운드 전환 코드 (0) | 2015.12.10 |
[android]나의앱에서 다른 어플 설치,삭제,변경 이벤트 받기 (0) | 2015.12.08 |
[android] inapp 인앱 결제 롤리팝 오류(lollipop) (0) | 2015.08.28 |
[ANDROID] 타이머 설정법 (무한 반복) (0) | 2015.08.07 |
Comments