어플 실행 중에 다른 어플을 설치하고 싶을 때 (어플 업데이트 기능) 구현하면 되는 코드이다.
MainActivity.java에 아래 코드를 작성한다.
public void InstallAPK(){
File apkFile = new File("앱설치 되어있는경로"+앱이름.apk);
if (apkFile != null) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);
}
}
원하는 조건문에서 InstallAPK() 호출하면 앱 실행 중에 자동으로 어플이 설치된다.
startActivity가 호출 안되면 AndroidManifest.xml에서 아래의 권한 추가한다
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<activity
android:name=".intent실행하는 클래스명" android:label="@string/app_name" >
<intent-filter >
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
</activity>
+++ 만약 업데이트파일을 받았는데 앱 서명 인증서가 다르다고 나오면 업데이트 전 apk파일이 컴파일된 어플인지 확인하면 된다.
[출처] [Java] 앱실행중에 다른 어플 설치하고 실행하는 방법(앱 자동업데이트기능)|작성자 고체물리학
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 문자열 배열에서 특정 문자 찾기(특정 문자 포함 여부 확인) (0) | 2021.06.29 |
---|---|
자바 특정 문자 & 특수 문자 제거/치환하기 (replace, replaceAll, replaceFirst)함수 사용 (0) | 2021.06.16 |
[Java]16진수를 2진수로 변환 hex->binary (0) | 2021.06.11 |
Eclipse 설치하기 (JAVA IDE, Hello World 출력하기) (0) | 2020.11.29 |
JAVA 설치하기(JDK 설치, 환경변수 설정) (0) | 2020.10.30 |
댓글