=================================
=================================
=================================
=================================
=================================
=================================
출처:
http://cafe.naver.com/llprogrammerll/1029
간혹 가다가 해당 앱이 이 폰에 설치가 되어 있는지를 체크할
필요가 있을 때가 있다 그럴때는 아래와 같이 하면 앱의 이름과
패키기 명을 가져올 수 있다
sometimes we want to know if some app is installed mobile.
you can get name of app and pakage
마켓에 올릴때 동일한 패키지 명의 어플은 올라가지 않으므로
특정 어플의 설치여부를 알아낼때 사용할 수 있다
Every app in the market has unique pakage name so you can
find out if some app is installed to use pakage name
PackageManager pm = this.getPackageManager();
List<ApplicationInfo> packs = pm.getInstalledApplications(
PackageManager.GET_UNINSTALLED_PACKAGES |
PackageManager.GET_DISABLED_COMPONENTS);
for (ApplicationInfo app : packs) {
Log.e("1", "name: "+app.loadLabel(pm).toString());
Log.e("1", "pakage: "+app.packageName);
}
=================================
=================================
=================================
출처: http://www.androidpub.com/1795652try
{
String name = (String) getPackageManager().getApplicationLabel(getPackageManager().getApplicationInfo(
"packageName"
, PackageManager.GET_UNINSTALLED_PACKAGES));
}
catch
(NameNotFoundException e1) {
e1.printStackTrace();
}
=================================
=================================
=================================
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(mContext.ACTIVITY_SERVICE);
List<RunningTaskInfo> info;
info = activityManager.getRunningTasks(7);
for (Iterator iterator = info.iterator(); iterator.hasNext();) {
RunningTaskInfo runningTaskInfo = (RunningTaskInfo) iterator.next();
if(runningTaskInfo.topActivity.getClassName().equals("com.android.ABCApplication.ABCApplication")) {
Log.e("ABCApplication","ABCApplication is running");
return true;
}
}
쉽 게 말하면 위에 getRunningTasks 에서 7개의 Acitivity 를 가지고 옵니다. 물론 실행중인 Activity 가 7개보다 적으면 실행되고 있는 모든 Activity 를 가지고 옵니다. 이렇게 가지고 온 Activity 에서 ABCApplication이 있으면 return true; 한 것입니다. 위에서 7 대신에 1을 사용하면 바로 최고 위에 실행중인 Activity 를 가지고 올 수 있는 것입니다.
다음과 같은 방법으로 패키지 및 패키지의 하위 클래스도 확인 할수 있습니다.
String pkgName = runningTaskInfo.topActivity.getPackageName();
String className = runningTaskInfo.topActivity.getClassName();
if((pkgName.equals("com.company.android.app.ABCPackage"))&& (className.equals("com.company.android.app.ABCPackage.abc.ABCClass"))) {
..
//-----------------------------------------------------------
public String getClassName(Context context)
{
ActivityManager activitymanager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> runningtaskinfo = activitymanager.getRunningTasks(2);
String className = runningtaskinfo.get(0).topActivity.getClassName();
return className;
}
=================================
=================================
=================================
'스마트기기개발관련 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 모서리 라운드 효과 관련 (1) | 2012.03.28 |
---|---|
안드로이드 팝업창 만들기 (0) | 2012.03.27 |
안드로이드 개발 시 참고하면 좋은 정보(개발 정리) (0) | 2012.03.19 |
안드로이드 해상도 화면관련 (0) | 2012.03.19 |
웹뷰 api WebView 의 loadDataWithBaseURL, loadData 차이점과 문제점 (0) | 2012.03.15 |
댓글 영역