Zajmuję się tworzeniem aplikacji eksploratora plików w systemie Android. Jak obsługiwać pliki z nieznanymi rozszerzeniami? Kiedy próbuję otworzyć taki plik, jego wyrzucanie ActivityNotFound wyjątek. Ale chcę, żeby system wyświetlił listę aplikacji, abyśmy mogli ręcznie wybrać aplikację, aby ją otworzyć. Czy ktoś może mi w tym pomóc?Android: Jak otworzyć nieznany typ pliku
Rozpoczynam działanie, aby otworzyć plik, wiążąc plik i jego rozszerzenie z intencją.
Intent intent = new Intent(Intent.ACTION_VIEW);
MimeTypeMap mime = MimeTypeMap.getSingleton();
String ext = file.getName().substring(file.getName().lastIndexOf(".") + 1);
String type = mime.getMimeTypeFromExtension(ext);
intent.setDataAndType(Uri.fromFile(new File(file.toString())), type);
try
{
startActivity(intent);
}
catch(Exception e){}
Menedżer Asus File (4.4) daje to generic „Otwórz jako” listy z czterema elementami reprezentującymi ogólne kategorie (tekst, obraz, audio, wideo). Wybranie jednej spowoduje wyświetlenie listy powiązanych aplikacji, które otwierają plik (podobnie jak Windows). – samosaris