Я хочу запустить приложение Файлы из своего приложения. Приложение с этим значком:
Приведенный ниже код работает для Android 9–11. В более старых версиях использовался резервный вариант. Но в Android 12 невозможно создать намерение запуска как для com.google.android.documentsui, так и для com.android.documentsui. Есть ли обходной путь?
public static void startFilesManager (контекст контекста) { пытаться { // com.android.documentsui — приложение «Файлы» для Android 9 и 11. // com.google.android.documentsui — это приложение «Файлы» в Android 10. // com.google.android.apps.nbu.files — файловый менеджер Google, он используется как резервный вариант. Пакеты String[] = новая String[] { "com.android.documentsui", "com.google.android.documentsui", "com.google.android.apps.nbu.files" }; Намерение намерение = ноль; for (int i = 0; i < packages.length; i++) { Строка packageName = packages; намерение = context.getPackageManager().getLaunchIntentForPackage(packageName); если (намерение! = ноль) { перерыв; } } // Если ничего не установлено, направляем пользователя в магазин. если (намерение == ноль) { намерение = новое намерение (Intent.ACTION_VIEW); Intent.setData(Uri.parse("market://details?id=" + packages[packages.length - 1])); } Intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(намерение); } поймать (Исключение e) { Log.e("FileManager", "startFilesManager: не удалось запустить", e); } } Обновление Я также пробовал использовать Intent.CATEGORY_APP_FILES, как показано ниже, но он просто выдает ActivityNotFoundException. Это происходит на любой версии Android (по крайней мере, в эмуляторе, где установлен Files).
public static void startFilesManager (контекст контекста) { пытаться { Намерение намерение = Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_FILES); Intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(намерение); } поймать (Исключение e) { Log.e("FileManager", "startFilesManager: не удалось запустить", e); } }
Я хочу запустить приложение [b]Файлы[/b] из своего приложения. Приложение с этим значком:
[img]https://i.stack.imgur.com/JPzAI.png[/img]
Приведенный ниже код работает для Android 9–11. В более старых версиях использовался резервный вариант. Но в Android 12 невозможно создать намерение запуска как для com.google.android.documentsui, так и для com.android.documentsui. Есть ли обходной путь?
public static void startFilesManager (контекст контекста) { пытаться { // com.android.documentsui — приложение «Файлы» для Android 9 и 11. // com.google.android.documentsui — это приложение «Файлы» в Android 10. // com.google.android.apps.nbu.files — файловый менеджер Google, он используется как резервный вариант. Пакеты String[] = новая String[] { "com.android.documentsui", "com.google.android.documentsui", "com.google.android.apps.nbu.files" }; Намерение намерение = ноль; for (int i = 0; i < packages.length; i++) { Строка packageName = packages[i]; намерение = context.getPackageManager().getLaunchIntentForPackage(packageName); если (намерение! = ноль) { перерыв; } } // Если ничего не установлено, направляем пользователя в магазин. если (намерение == ноль) { намерение = новое намерение (Intent.ACTION_VIEW); Intent.setData(Uri.parse("market://details?id=" + packages[packages.length - 1])); } Intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(намерение); } поймать (Исключение e) { Log.e("FileManager", "startFilesManager: не удалось запустить", e); } } [b]Обновление[/b] Я также пробовал использовать Intent.CATEGORY_APP_FILES, как показано ниже, но он просто выдает ActivityNotFoundException. Это происходит на любой версии Android (по крайней мере, в эмуляторе, где установлен Files). public static void startFilesManager (контекст контекста) { пытаться { Намерение намерение = Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_FILES); Intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(намерение); } поймать (Исключение e) { Log.e("FileManager", "startFilesManager: не удалось запустить", e); } }
В последнее время я стараюсь больше интегрировать свои приложения с современным дизайном Windows. В настоящее время я пытаюсь создать свои собственные системные диалоговые окна, соответствующие диалоговым окнам Windows (например: диалоговое окно «Вы...
У меня есть приложение A, которое вызывает приложение B с намерением неявно:
MainActivity.registerIntentAction(TJIntent.JavaClass.ACTION_VIEW);
TMessageManager.DefaultManager.SubscribeToMessage(TMessageReceivedNotification, HandleActivityMessage);...
Я пытаюсь установить приложение как системное, но оно продолжает выдавать ошибку:
apk не найден... или пишет apk не существует . с заданным адресом, хотя я пробовал все типы адресации, правильные или даже неправильные.
я устанавливал системное...