Galize Posté(e) 25 novembre 2009 Share Posté(e) 25 novembre 2009 (modifié) Je cherche à lancer l'activité adéquate pour afficher n'importe quel fichier, si une telle activité existe. Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("file://" + aFile.getAbsolutePath())); try { startActivity(myIntent); } catch (Exception e) { e.printStackTrace(); } et j'ai l'impression de ne pas réussir.... 11-25 17:33:51.649: INFO/ActivityManager(582): Starting activity: Intent { action=android.intent.action.VIEW data=file:///sdcard/fruits-128x128.png } 11-25 17:33:51.659: WARN/System.err(1210): android.content.ActivityNotFoundException: No Activity found to handle Intent { action=android.intent.action.VIEW data=file:///sdcard/fruits.png } 11-25 17:33:51.667: WARN/System.err(1210): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1484) 11-25 17:33:51.678: WARN/System.err(1210): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1454) 11-25 17:33:51.678: WARN/System.err(1210): at android.app.Activity.startActivityForResult(Activity.java:2656) 11-25 17:33:51.688: WARN/System.err(1210): at android.app.Activity.startActivity(Activity.java:2700) Je pense donc que mon intent n'est pas le bon ou ma façon de lui passer le paramètre. (car fruit.png, c'est une image et on peut voir les images sur G1 ) [edit] J'ai traçé l'application Gallery et elle fait : 11-25 17:45:04.308: INFO/ActivityManager(582): Starting activity: Intent { action=android.intent.action.VIEW data=content://media/external/images/media/1317 comp={com.android.camera/com.android.camera.ViewImage} } J'ai l'impression que cela ne m'arrange pas... Modifié 25 novembre 2009 par Galize Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
azalsup Posté(e) 28 novembre 2009 Share Posté(e) 28 novembre 2009 Bonjour, Je n'ai pas vraiment de réponse a ta question mais nous somme dans le même pétrin toi et moi. Pour le moment ce que j'ai compris c'est qu'il faut faire comme ci-dessous : Intent myIntent =new Intent(android.content.Intent.ACTION_VIEW); myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); myIntent.setDataAndType(Uri.parse("file://"+ this.file.getAbsolutePath()), this.mimeTypes.getMimeType(file) ); La fonction getMimeType donne le type de fichier Pour cela j'ai fait une liste de mimes connus que j'ai trouvé sur le net et la fonction etourne des string du genrs image/jpeg pour les fichiers jpeg jpg jpe Apres ca ne résoud pas mes problèmes car ce qui m'interesse c'est d'ouvrir des fichier dont j'ignore le type. Pour le moment donc je n'ai pas de solution en dehors de trouver une base de donnée de tous le smimes types du monde. Si bien evidament tu trouve une solution ca sera génial. Des question ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
azalsup Posté(e) 28 novembre 2009 Share Posté(e) 28 novembre 2009 Bonjour,Je n'ai pas vraiment de réponse a ta question mais nous somme dans le même pétrin toi et moi. Pour le moment ce que j'ai compris c'est qu'il faut faire comme ci-dessous : Intent myIntent =new Intent(android.content.Intent.ACTION_VIEW); myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); myIntent.setDataAndType(Uri.parse("file://"+ this.file.getAbsolutePath()), this.mimeTypes.getMimeType(file) ); La fonction getMimeType donne le type de fichier Pour cela j'ai fait une liste de mimes connus que j'ai trouvé sur le net et la fonction etourne des string du genrs image/jpeg pour les fichiers jpeg jpg jpe Apres ca ne résoud pas mes problèmes car ce qui m'interesse c'est d'ouvrir des fichier dont j'ignore le type. Pour le moment donc je n'ai pas de solution en dehors de trouver une base de donnée de tous le smimes types du monde. Si bien evidament tu trouve une solution ca sera génial. Des question ? EDIT : Exemple de mime typees reconnus pour un fichier audio essaye "audio/*" ouvrira le lecteur audio ou proposera la liste des lecteurs à l'utilisateur "video/*" pour toutes les video "text/txt" ou "text/*" pour tous les fichiers text "*/*" en faisant ca ca te donne une fenetre de choix ou figure toutes les applications installées et capable d'ouvrire un fichier ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 28 novembre 2009 Share Posté(e) 28 novembre 2009 et avec un createchooser ? dans cet exemple i est une intent (celle que tu crée qui doit à priori fonctionner... i.setType( "text/plain" ); (ou autre chose.... image etc ..) startActivity( Intent.createChooser( i,"test") ); Mais je ne sais pas ce qu'il se passe si aucune activity ne gere le type... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
azalsup Posté(e) 28 novembre 2009 Share Posté(e) 28 novembre 2009 et avec un createchooser ?dans cet exemple i est une intent (celle que tu crée qui doit à priori fonctionner... i.setType( "text/plain" ); (ou autre chose.... image etc ..) startActivity( Intent.createChooser( i,"test") ); Mais je ne sais pas ce qu'il se passe si aucune activity ne gere le type... Ca souleve une exception si aucune activité convenable n'a été trouvé d'ou l'interet de gérer l'exception suivante : } catch( ActivityNotFoundException e){ this.showAlertMessage(this.getContext().getResources().getString(R.string.OPEN_FILE_CANNOT_OPEN)); System.err.println("OpenFileDialog::onClick ActivityNotFoundException "); e.printStackTrace(); return false; } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Galize Posté(e) 4 décembre 2009 Auteur Share Posté(e) 4 décembre 2009 Je vais essayer tout ça. J'ai trouvé une liste d'association MIME/Type extension application/SLA stl application/STEP step application/STEP stp application/acad dwg application/andrew-inset ez application/clariscad ccad application/drafting drw application/dsptype tsp application/dxf dxf application/excel xls application/i-deas unv application/java-archive jar application/mac-binhex40 hqx application/mac-compactpro cpt application/vnd.ms-powerpoint pot application/vnd.ms-powerpoint pps application/vnd.ms-powerpoint ppt application/vnd.ms-powerpoint ppz application/msword doc application/octet-stream bin application/octet-stream class application/octet-stream dms application/octet-stream exe application/octet-stream lha application/octet-stream lzh application/oda oda application/ogg ogg application/ogg ogm application/pdf pdf application/pgp pgp application/postscript ai application/postscript eps application/postscript ps application/pro_eng prt application/rtf rtf application/set set application/smil smi application/smil smil application/solids sol application/vda vda application/vnd.mif mif application/vnd.ms-excel xlc application/vnd.ms-excel xll application/vnd.ms-excel xlm application/vnd.ms-excel xls application/vnd.ms-excel xlw application/vnd.rim.cod cod application/x-arj-compressed arj application/x-bcpio bcpio application/x-cdlink vcd application/x-chess-pgn pgn application/x-cpio cpio application/x-csh csh application/x-debian-package deb application/x-director dcr application/x-director dir application/x-director dxr application/x-dvi dvi application/x-freelance pre application/x-futuresplash spl application/x-gtar gtar application/x-gunzip gz application/x-gzip gz application/x-hdf hdf application/x-ipix ipx application/x-ipscript ips application/x-javascript js application/x-koan skd application/x-koan skm application/x-koan skp application/x-koan skt application/x-latex latex application/x-lisp lsp application/x-lotusscreencam scm application/x-mif mif application/x-msdos-program bat application/x-msdos-program com application/x-msdos-program exe application/x-netcdf cdf application/x-netcdf nc application/x-perl pl application/x-perl pm application/x-rar-compressed rar application/x-sh sh application/x-shar shar application/x-shockwave-flash swf application/x-stuffit sit application/x-sv4cpio sv4cpio application/x-sv4crc sv4crc application/x-tar-gz tar.gz application/x-tar-gz tgz application/x-tar tar application/x-tcl tcl application/x-tex tex application/x-texinfo texi application/x-texinfo texinfo application/x-troff-man man application/x-troff-me me application/x-troff-ms ms application/x-troff roff application/x-troff t application/x-troff tr application/x-ustar ustar application/x-wais-source src application/x-zip-compressed zip application/zip zip audio/TSP-audio tsi audio/basic au audio/basic snd audio/midi kar audio/midi mid audio/midi midi audio/mpeg mp2 audio/mpeg mp3 audio/mpeg mpga audio/ulaw au audio/x-aiff aif audio/x-aiff aifc audio/x-aiff aiff audio/x-mpegurl m3u audio/x-ms-wax wax audio/x-ms-wma wma audio/x-pn-realaudio-plugin rpm audio/x-pn-realaudio ram audio/x-pn-realaudio rm audio/x-realaudio ra audio/x-wav wav chemical/x-pdb pdb chemical/x-pdb xyz image/cmu-raster ras image/gif gif image/ief ief image/jpeg jpe image/jpeg jpeg image/jpeg jpg image/png png image/tiff tif tiff image/tiff tif image/tiff tiff image/x-cmu-raster ras image/x-portable-anymap pnm image/x-portable-bitmap pbm image/x-portable-graymap pgm image/x-portable-pixmap ppm image/x-rgb rgb image/x-xbitmap xbm image/x-xpixmap xpm image/x-xwindowdump xwd model/iges iges model/iges igs model/mesh mesh model/mesh msh model/mesh silo model/vrml vrml model/vrml wrl text/css css text/html htm text/html html htm text/html html text/plain asc txt text/plain asc text/plain c text/plain cc text/plain f90 text/plain f text/plain h text/plain hh text/plain m text/plain txt text/richtext rtx text/rtf rtf text/sgml sgm text/sgml sgml text/tab-separated-values tsv text/vnd.sun.j2me.app-descriptor jad text/x-setext etx text/xml xml video/dl dl video/fli fli video/flv flv video/gl gl video/mpeg mp2 video/mp4 mp4 video/mpeg mpe video/mpeg mpeg video/mpeg mpg video/quicktime mov video/quicktime qt video/vnd.vivo viv video/vnd.vivo vivo video/x-fli fli video/x-ms-asf asf video/x-ms-asx asx video/x-ms-wmv wmv video/x-ms-wmx wmx video/x-ms-wvx wvx video/x-msvideo avi video/x-sgi-movie movie www/mime mime x-conference/x-cooltalk ice x-world/x-vrml vrm x-world/x-vrml vrml Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.