Potrzebuję uzyskać nazwę działania launchera, aby uruchomić działanie z mojej aplikacji. Każde rozwiązanieUzyskaj nazwę uruchamiania Nazwa aplikacji Android
Odpowiedz
użyć następującego kodu, aby uzyskać aktywność wyrzutni wszystkich pakietów:
final PackageManager pm = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appList = pm.queryIntentActivities(mainIntent, 0);
Collections.sort(appList, new ResolveInfo.DisplayNameComparator(pm));
for (ResolveInfo temp : appList) {
Log.v("my logs", "package and activity name = "
+ temp.activityInfo.packageName + " "
+ temp.activityInfo.name);
}
dzięki za moją pracę dla mnie –
późno, ale lepiej tak to da dokładną zamiar rozpocząć działalność
PackageManager pm = getPackageManager();
Intent intent=pm.getLaunchIntentForPackage(pacakgeName);
startActivity(intent);
Nawet chociaż powyższe odpowiedzi odpowiadają bezpośrednio na pytanie OP: Chciałbym dodać moje dwa centy:
/** Backwards compatible method that will clear all activities in the stack. */
public void startLauncherActivity(Context context) {
PackageManager packageManager = context.getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(context.getPackageName());
ComponentName componentName = intent.getComponent();
Intent mainIntent = IntentCompat.makeRestartActivityTask(componentName);
context.startActivity(mainIntent);
}
W tym miejscu nie tylko otrzymuję działanie aplikacji uruchamiającej, ale także usuwam cały backstack z działań (co jest tym, czego faktycznie potrzebowałem, gdy uruchomiłem działanie programu uruchamiającego). Nazywam to na przykład w przypadku wygasłego tokena autoryzacji.
Ważne jest, aby używać IntentCompat
, w przeciwnym razie trzeba uciekać się do Intent
flagą Intent.FLAG_ACTIVITY_CLEAR_TASK
, który jest wprowadzany tylko w API 11.
- 1. Uzyskaj nazwę (ścieżkę) aplikacji, która wywołała drukowanie
- 2. Uzyskaj nazwę wersji aplikacji za pomocą adb
- 3. Uzyskaj nazwę wejściową angularjs
- 4. Uzyskaj ikonę z innej aplikacji Android
- 5. Android Jak zmienić nazwę aplikacji
- 6. Menedżer aplikacji Android pokazuje nieprawidłową nazwę aplikacji
- 7. Uzyskaj nazwę aplikacji/etykietę za pośrednictwem powłoki ADB lub terminala
- 8. Android Uzyskaj katalog danych aplikacji "domowy"
- 9. Uzyskaj nazwę zmiennej. javascript "reflection"
- 10. Uzyskaj nazwę witryny IIS z witryny ASP.NET
- 11. Polecenie uruchamiania systemu Android w aplikacji Bash w aplikacji
- 12. Uzyskaj nazwę bieżącego środowiska
- 13. Uzyskaj nazwę kompilatora bluetooth
- 14. Uzyskaj nazwę instancji C#
- 15. Uzyskaj nazwę projektu WPF
- 16. Uzyskaj nazwę udekorowanej funkcji?
- 17. Uzyskaj nazwę klasy nadrzędnej?
- 18. Uzyskaj nazwę aktualnej klasy?
- 19. Uzyskaj nazwę programu Java
- 20. .Net Uzyskaj nazwę właściwości
- 21. Uzyskaj nazwę parametru
- 22. Android - biblioteka zewnętrzna zmienia nazwę całej aplikacji
- 23. Uzyskaj nazwę właściwości wewnątrz setera
- 24. Uzyskaj nazwę zespołu aplikacji WWW, niezależnie od bieżącego zespołu wykonawczego.
- 25. Uzyskaj nazwę klasy rodzajowe bez tyldy
- 26. Uzyskaj nazwę miesiąca z numeru w PostgreSQL
- 27. Wygeneruj nazwę apk jako nazwę pakietu w Android Studio
- 28. Nazwa aplikacji w kafelku - aktualizacja
- 29. Jak uzyskać nazwę zainstalowanej aplikacji w systemie Android?
- 30. android, Jak zmienić nazwę pliku?
nazwa ComponentName = new ComponentName (Pakiet, launcheractivity); \t \t \t \t Intencja i = nowy cel (cel) AKCJA_MAIN); i.addCategory (Intent.CATEGORY_LAUNCHER); i.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK \t | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); i.setComponent (nazwa); _context.startActivity (i); Tutaj chcesz nazwę wyrzutni dla Nazwa składnika .. – user1767260
Aktywność uruchamiania dowolnej aplikacji lub wszystkich zainstalowanych aplikacji? –
Aktywność uruchamiania zainstalowanych aplikacji – user1767260