Autore Topic: Impossibile aprire un file.  (Letto 1051 volte)

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Impossibile aprire un file.
« il: 15 Febbraio 2011, 15:04:02 CET »
0
Ho un problema alquanto strano riguardante la view dei file...
stavo partendo dal tutorial su anddev.org per fare un filebrowser, e il loro codice non funziona per l'apertura dei file.. ho provato a modificarlo ma continuo ad avere errori, sia su emulatore (FC dell'activity camera-gallery) sia sul mio HTC Hero (si apre l'activity oltretutto quella sbagliata e senza chiedermelo) non apre il file dando come errore:
02-15 14:57:39.108: INFO/System.out(12854): resolveUri failed on bad bitmap uri: file:///sdcard/Immagini/Foto(017).jpg

Premesso che l'uri del file deve essere corretto perchè è una routine in cui prendo i file in una certa cartella, sdcard l'ho presa con getExternal ....
e la foto esiste ed è visibile se aperta da fuori, vorrei capire qual'è il problema...
il mio codice è:
Codice (Java): [Seleziona]
   // Lets start an intent to View the file, that was clicked...
                    Intent myIntent = new Intent(Intent.ACTION_VIEW);
                    myIntent.setDataAndType(Uri.fromFile(aDirectory.getAbsoluteFile(),"image/jpg");
                    List<ResolveInfo> list = getPackageManager().queryIntentActivities(myIntent, PackageManager.MATCH_DEFAULT_ONLY);
                    if (!list.isEmpty()) startActivity(myIntent);
                    else {
                        Toast.makeText(AndroidFileBrowser.this, "No opener found for "+myIntent.getData().toString(), Toast.LENGTH_LONG).show();                    
                    }

aDirectory.getAbsoluteFile mi da file:///sdcard/Immagini/Foto(017).jpg e l'image type l'ho impostato al momento in maniera fissa perchè vorrei almeno riuscire ad aprire un file specifico,poi passo agli altri..

Non capisco il problema dove possa essere, coi pdf mi dice no opener found (e ho Adobe + il reader interno)...
vorrei capire come fare perchè ad esempio ESfileExplorer lo fa,quindi la cosa è fattibile sicuramente!

PS:se ci sono permission da mettere nel manifest ditemelo, che non ne ho messi! sul web tutti dicono di fare come ho fatto...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Impossibile aprire un file.
« Risposta #1 il: 15 Febbraio 2011, 15:20:51 CET »
0
ok,per l'immagine ho risolto, penso che l'errore stava quando facevo aDirectory.getAbsoluteFile(), perchè mettendo solo aDirectory (che è gia un File) funziona benone.

Ora provo a non mettere il type o a renderlo dinamico! :D

Questo il codice che funziona (per le immagini e basta per ora)
Codice (Java): [Seleziona]
Intent myIntent = new Intent(Intent.ACTION_VIEW);
                    myIntent.setDataAndType(Uri.fromFile(aDirectory),"image/*");
                    List<ResolveInfo> list = getPackageManager().queryIntentActivities(myIntent, PackageManager.MATCH_DEFAULT_ONLY);
                    if (!list.isEmpty()) startActivity(myIntent);
                    else {
                        Toast.makeText(AndroidFileBrowser.this, "No opener found for "+myIntent.getData().toString(), Toast.LENGTH_LONG).show();    
                    }
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia