Notice
Recent Posts
Recent Comments
Link
투케이2K
674. (Android/Java) packageInfo.firstInstallTime 사용해 특정 앱 최초 설치 날짜 확인 - app install date 본문
Android
674. (Android/Java) packageInfo.firstInstallTime 사용해 특정 앱 최초 설치 날짜 확인 - app install date
투케이2K 2023. 10. 26. 11:55[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] appInstallFirstTime : 특정 앱 최초 설치 시점 시간 확인
// -----------------------------------------------------------------------------------------
public static String appInstallFirstTime(Context mContext, final String packageNames){
/**
* // -----------------------------------------
* [appInstallFirstTime 메소드 설명]
* // -----------------------------------------
* 1. 특정 앱 최초 설치 시점 시간 확인
* // -----------------------------------------
* 2. 호출 방법 : C_App.appInstallFirstTime(A_Main.this, "com.test.app");
* // -----------------------------------------
* 3. 로 직 : 조건 체크 수행 후 앱 대상 확인 및 최초 시간 확인 시 >> 2023-03-01 21:50:51
* // -----------------------------------------
* 4. TODO [중요] AndroidManifest.xml 파일에서 queries >> package 등록 필요
* // -----------------------------------------
* */
// [리턴 변수 선언]
String returnData = "";
String M_LOG = "";
// [사전 패키지 명이 널인지 체크 실시]
if (C_Util.stringNotNull(packageNames) == true){
// [외부앱이 설치되었는지 확인]
try {
// [특정 패키지 명이 앱에 설치 되어 있는지 확인]
Intent existPackage = mContext.getPackageManager().getLaunchIntentForPackage(packageNames);
if (existPackage != null) { // [설치 되어 있는 경우]
PackageInfo packageInfo = mContext.getPackageManager().getPackageInfo(packageNames, PackageManager.GET_PERMISSIONS);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
M_LOG = "[appInstallFirstTime] :: [Success] :: App Install File Found";
returnData = dateFormat.format( new Date( packageInfo.firstInstallTime ) );
}
else { // [설치 되지 않은 경우]
M_LOG = "[appInstallFirstTime] :: [Error] :: App Install Not Found";
}
}
catch (ActivityNotFoundException e) {
// [이동할 패키지 명을 찾이 못한 경우]
M_LOG = "[appInstallFirstTime] :: [ActivityNotFoundException] :: " + String.valueOf(e.getMessage());
}
catch (Exception e){
M_LOG = "[appInstallFirstTime] :: [Exception] :: " + String.valueOf(e.getMessage());
}
}
else { // [패키지 명이 널인 경우]
M_LOG = "[appInstallFirstTime] :: [Error] :: Input PackageName Is Null";
}
// [로그 출력 실시]
// ===============================================================
S_Log._D_("특정 앱 최초 설치 시점 시간 확인", new String[]{
"INPUT :: " + String.valueOf(packageNames),
"M_LOG :: " + String.valueOf(M_LOG),
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// [리턴 반환 실시]
return returnData;
}
[결과 출력]
================================================
[LOG :: CLASS PLACE :: com.example.javaproject.C_App.appInstallFirstTime(C_App.java:9219)]
----------------------------------------------------
[LOG :: NOW TIME :: 2023-10-26 11:50:53 목요일]
----------------------------------------------------
[LOG :: DESCRIPTION :: 특정 앱 최초 설치 시점 시간 확인]
----------------------------------------------------
[LOG :: INPUT :: com.app.manager]
----------------------------------------------------
[LOG :: M_LOG :: [appInstallFirstTime] :: [Success] :: App Install File Found]
----------------------------------------------------
[LOG :: RETURN :: 2023-03-01 21:50:51]
================================================
반응형
'Android' 카테고리의 다른 글
Comments