1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
maListViewPerso14.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
String nomFichierDansAsset = "test.pdf";
String nomFichierTemp = "truc.pdf";
if (copyAssetToTempFile(nomFichierDansAsset, nomFichierTemp)) {
try {
String name = getFileStreamPath(nomFichierTemp).getAbsolutePath();
Uri uri = Uri.parse("file://" + name);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/pdf");
startActivity(intent);
} catch (ActivityNotFoundException e) {
// Cas d'erreur si pas de lecteur PDF installé
Log.d("xx", "Erreur affichage PDF", e);
}
}
}
private boolean copyAssetToTempFile(String nomFichierAsset,
String nomFichierTemp) {
boolean result = true;
try {
byte[] buffer = new byte[512];
FileOutputStream fos = openFileOutput(nomFichierTemp, MODE_WORLD_READABLE);
InputStream is = getAssets().open(nomFichierAsset);
int bytesRead = is.read(buffer);
while (bytesRead > 0) {
fos.write(buffer, 0, bytesRead);
bytesRead = is.read(buffer);
}
fos.close();
is.close();
} catch (FileNotFoundException e) {
// Cas d'erreur de création de fichier
Log.d("xx", "Erreur creation fichier ", e);
result = false;
} catch (IOException e) {
// Cas d'erreur de lecture de fichier
Log.d("xx", "Erreur lecture fichier", e);
result = false;
}
return result;
} |
Partager