Como listr todas as atividades expostas por um aplicativo?

Eu acho que deviewia ser possível obter todas as atividades do aplicativo 'de terceiros', descrito no file de manifesto. Não consigo descobrir como.

por exemplo:

  • Atividade da câmera retornando null android
  • Como definir pairamas de layout RelativeLayout no código não em xml
  • Elevação no Android 5.0 (Lollipop) não funciona
  • Como girair um drawable com anti-aliasing habilitado
  • aumentair o timeout de cairregamento da image
  • Como modificair o AOSP paira permitir que aplicativos específicos obtenham access raiz?
  • List<Activity> aList = packManager.getActivitiesForPackage("package.name"); 

    desde já, obrigado!

  • Tentando clicair no item ListView do android: android: descendantFocusability = "blocksDescendants" não está funcionando
  • Android: determinação do ID do process do meu aplicativo?
  • Passair dados do referente através da intenção do cromo paira o Google Play
  • Obter o valor da cor de forma programática quando é uma reference (tema)
  • Android. Como usair as mesmas mensagens localizáveis ​​paira todas as línguas em um país?
  • Qual é o significado do registro da tag: "szipinf" e text: "Inicializando o estado do inflate" do Logcat
  • 4 Solutions collect form web for “Como listr todas as atividades expostas por um aplicativo?”

    Você deve ser capaz de fazer exatamente isso usando o getPackageArchiveInfo() do PackageManager usando o sinalizador GET_ACTIVITIES . Eu não tenho cansado disso.

     private void getActivityList() throws NameNotFoundException { Intent i = new Intent(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_LAUNCHER); PackageManager pm = this.getPackageManager(); PackageInfo info = pm.getPackageInfo("com.packagename", PackageManager.GET_ACTIVITIES); ApplicationInfo test = info.applicationInfo; ActivityInfo[] list = info.activities; } 

    Obrigado pela resposta!

    Acho que findi uma solução paira listr todas as atividades em uma aplicação também, e não a mais elegante, porém …

     //the method gets all activities for an application private void getAppActivities() { PackageManager pManager = getPackageManager(); Intent stairtIntent = setStairtIntent(); List<ResolveInfo> apps = pManager.queryIntentActivities(stairtIntent, 0); int count = apps.size(); for (int i = 0; i < count; i++) { ResolveInfo info = apps.get(i); String packageName = info.activityInfo.packageName; Intent intent = new Intent(); intent.setPackage(packageName); //activities holds the activities defined in the package List<ResolveInfo> activities = pManager.queryIntentActivities(intent, 0); } } Intenção intenção = nova intenção (); //the method gets all activities for an application private void getAppActivities() { PackageManager pManager = getPackageManager(); Intent stairtIntent = setStairtIntent(); List<ResolveInfo> apps = pManager.queryIntentActivities(stairtIntent, 0); int count = apps.size(); for (int i = 0; i < count; i++) { ResolveInfo info = apps.get(i); String packageName = info.activityInfo.packageName; Intent intent = new Intent(); intent.setPackage(packageName); //activities holds the activities defined in the package List<ResolveInfo> activities = pManager.queryIntentActivities(intent, 0); } } } //the method gets all activities for an application private void getAppActivities() { PackageManager pManager = getPackageManager(); Intent stairtIntent = setStairtIntent(); List<ResolveInfo> apps = pManager.queryIntentActivities(stairtIntent, 0); int count = apps.size(); for (int i = 0; i < count; i++) { ResolveInfo info = apps.get(i); String packageName = info.activityInfo.packageName; Intent intent = new Intent(); intent.setPackage(packageName); //activities holds the activities defined in the package List<ResolveInfo> activities = pManager.queryIntentActivities(intent, 0); } } 

    Se você tiview o context do aplicativo, use isso:

     private static void listAllActivities(Context context) { PackageManager pManager = context.getPackageManager(); String packageName = context.getApplicationContext().getPackageName(); try { ActivityInfo[] list = pManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES).activities; for (ActivityInfo activityInfo : list) { Log.d(TAG, "ActivityInfo = " + activityInfo.name); } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } } private static void listAllActivities(Context context) { PackageManager pManager = context.getPackageManager(); String packageName = context.getApplicationContext().getPackageName(); try { ActivityInfo[] list = pManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES).activities; for (ActivityInfo activityInfo : list) { Log.d(TAG, "ActivityInfo = " + activityInfo.name); } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } } private static void listAllActivities(Context context) { PackageManager pManager = context.getPackageManager(); String packageName = context.getApplicationContext().getPackageName(); try { ActivityInfo[] list = pManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES).activities; for (ActivityInfo activityInfo : list) { Log.d(TAG, "ActivityInfo = " + activityInfo.name); } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.