상세 컨텐츠

본문 제목

안드로이드 패키지명 패키지이름 알아보기 관련

스마트기기개발관련/안드로이드 개발

by AlrepondTech 2012. 3. 20. 11:07

본문

반응형

 

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 
출처: http://202psj.tistory.com/373
 
현재 클래스뷰에서
 
ApplicationInfo app = getApplicationInfo();
String pakname = app.packageName;

 

 

 
 

 

=================================

=================================

=================================

 

 

 

출처: 

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/1795652

try {

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;
    }

 

 

 

=================================

=================================

=================================

 

 

 

 

반응형


관련글 더보기

댓글 영역