2011-08-11 6 views
1

motoblur 및 touchwiz에서 시스템 앱의 패키지 이름 및 주요 활동 이름을 찾는 방법은 무엇입니까? 나는 앱을 만들고 있지만 그것이 단지 센스와 재고 안드로이드가 아니라 보편적 인 것이되기를 바랍니다. 나는 실제로 touchwiz 또는 motoblur를 실행하는 전화를 소유하고 있지 않기 때문에 나는 그들을 찾아내는 방법에 난처한 상황에 처해있다. 감사합니다시스템 앱의 패키지 및 활동 이름을 찾으십니까?

답변

1

주 - 시스템 응용 프로그램을 장치마다 다르며 활동 클래스 이름은 앱 업데이트에 따라 변경 될 수 있습니다 (Google지도에서 한 번 수행 한 것으로 나타남).

또 다른 이유는 사용자가 특정 작업을 수행하기 위해 설치 한 다른 앱 (예 : 타사 앱으로 사진을 찍는 것을 선호)을 선호하는 것입니다.

시스템 정의 인 텐트를 통해 앱을 호출해야합니다.

+0

고마워, 나는이 모든 것에서 상당히 새로운 것이므로 어떤 코드를 사용하면 좋을까요? 아니면 당신이 제공 할 수있는 링크가 있습니까? 어떤 도움을 주셔서 감사합니다 감사합니다 Logged – natehoch96

0

당신은 당신이 Intent의 유형 (이 개발자를 지정할 수 있습니다 list 통해 이동

PackageManager packmngr = this.getPackageManager(); 
    Intent ints = new Intent(Intent.ACTION_MAIN, null) 
    ints.addCategory(Intent.CATEGORY_LAUNCHER); 
    List<ResolveInfo> list = packmngr.queryIntentActivities(ints, PackageManager.PERMISSION_GRANTED); 

ints.addCategory(Intent.CATEGORY_LAUNCHER); < 원하는 활동을 검색 --- 여기보다 폰에 설치된 앱에 대한 정보를 수집해야 다른 애플리케이션에서 매니페스트에 정의 된 항목)을 쿼리로 검색하려면 CATEGORY_LAUNCHER 또는 CATEGORY_DEFAULT 중 하나 일 수 있습니다. 실제로 주요 활동 유형은 CATEGORY_LAUNCHER입니다.

그리고 목록에서 사소한 반복 : 상수와 메소드에 대한 자세한 정보를 원하시면

 for(ResolveInfo rlnfo: list) 
     { 
      //Adjust the code and do tests within here. 
      Log.i("ACTIVITY INFO: ", rlnfo.activityInfo.toString()); 
      Log.i("ACTIVITY NAME: ",rlnfo.resolvePackageName.toString()); 
     } 

확인 여기에 : 당신이 패키지/클래스 이름을 통해 활동을 시작하지 말아야 http://developer.android.com/reference/android/content/pm/PackageManager.html

관련 문제