Ho questo metodo finora, ma è venuto fuori come qualcosa mancaCome verificare se un intento può essere gestito da qualche attività?
per esempio ho un file /sdcard/sound.3ga che restituisce false (come se non ci sono attività che possono gestire questo tipo di file) , Ma quando lo apro dal file manager si apre con il lettore multimediale senza problemi
Penso che questo intento non sia completo e ho bisogno di qualcosa di più per rendermi conto che la variabile handlerExists sarà falsa SOLO se non ci sono attività in grado di gestire questo intento
PackageManager pm = getPackageManager();
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uriString)).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
intent.setDataAndType(Uri.fromFile(new File(uriString)),mimetype);
boolean handlerExists = intent.resolveActivity(pm) != null;
sì l'ho fatto, ma restituisce false, funziona proprio come il mio metodo finora :(, deve essere qualcosa che manca – Lukap
È perché hai dimenticato: intent.setType ("text/plain") –
Qual è lo 0 flag qui? – RyPope