안드로이드 앱 정보 를 가져오는 코드입니다.
AppInfoUtil 라는 Util 파일을 만들고
MainActivity 에서 AppInfoUtil 의 정보를 가져오는 메소드를 이용하여 로그를 출력해 보았습니다.
작성한 파일 목록 입니다.
1. AppInfoUtil.java
2. MainActivity.java
1. AppInfoUtil.java
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.telephony.TelephonyManager;
import static android.content.Context.TELEPHONY_SERVICE;
public class AppInfoUtil {
/**
* app id 가져오기
* @param context context
* @return appId
*/
public static String getAppId(Context context) {
String appId = "";
try {
PackageManager pm = context.getPackageManager();
PackageInfo i = pm.getPackageInfo(context.getPackageName(), 0);
appId = i.applicationInfo.loadDescription(pm) + "";
} catch(PackageManager.NameNotFoundException e) { }
return appId;
}
/**
* app name 가져오기
* @param context context
* @return appName
*/
public static String getAppName(Context context) {
String appName = "";
try {
PackageManager pm = context.getPackageManager();
PackageInfo i = pm.getPackageInfo(context.getPackageName(), 0);
appName = i.applicationInfo.loadLabel(pm) + "";
} catch(PackageManager.NameNotFoundException e) { }
return appName;
}
/**
* package name 가져오기
* @param context
* @return packageName
*/
public static String getPackageName(Context context) {
String packageName = ""; // 패키지명 예시 데이터
try {
PackageManager packagemanager = context.getPackageManager();
ApplicationInfo appinfo = packagemanager.getApplicationInfo(packageName, PackageManager.GET_META_DATA);
packageName = packagemanager.getApplicationLabel(appinfo).toString();
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return packageName;
}
/**
* app version 가져오기
* @param context context
* @return versionName
*/
public static String getVersion(Context context) {
String versionName = "";
try {
PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
versionName = pInfo.versionName + "";
} catch(PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return versionName;
}
/**
* app version code 가져오기
* @param context context
* @return versionCode
*/
public static int getVersionCode(Context context) {
int versionCode = 1;
try {
PackageInfo i = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
versionCode = i.versionCode;
} catch(PackageManager.NameNotFoundException e) { }
return versionCode;
}
}
2. MainActivity.java
public class MainActivity extends AppCompatActivity {
private String TAG = MainActivity.class.getSimpleName();
private Context context = MainActivity.this;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "--- getAppId : "+getAppId(context)); //앱아이디
Log.d(TAG, "--- getAppName : "+getAppName(context)); //앱이름
Log.d(TAG, "--- getPackageName : "+getPackageName()); //패키지명
Log.d(TAG, "--- getVersion : "+getVersion(context)); //버전이름
Log.d(TAG, "--- getVersionCode : "+getVersionCode(context)); //버전코드
}
}
감사합니다 ~ 🤩
728x90
반응형
'🤖 안드로이드 Android' 카테고리의 다른 글
[안드로이드/Android] 디바이스의 내장메모리에 .txt 파일로 Logcat 저장 (4) | 2021.05.04 |
---|---|
[안드로이드/Android] 휴대폰 번호 정보 가져오기 (0) | 2021.05.03 |
[안드로이드/Android] 기기 단말정보 가져오기 (단말ID, 제조사, 브랜드, 모델명, OS버전, SDK 버전) (0) | 2021.04.23 |
[안드로이드/Android] 웹뷰(WebView) 파일 다운로드 (1) | 2021.04.05 |
[안드로이드/Android] 웹뷰(WebView) 파일 업로드 (3) | 2021.03.26 |