Bonjour,

je suis en train de tenter un lecture de PDF sur Androïd et je butte sur plusieurs problèmes

Tout d'abord les permissions :
je voudrais faire en sorte que le fichier soit copié dans un autre répertoire (GetSharedDocumentsPath, idéalement GetTempPath) de cette manière
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 FileName := TPath.Combine(TPath.GetDocumentsPath, 'demo.pdf');
   SharedFileName:=TPath.Combine(TPath.GetSharedDocumentsPath,'demo.pdf');
  if TFile.Exists(FileName) then
    try TFile.Copy(FileName,SharedFileName,true); except end;  // Try car j'ai une erreur
Quelles permissions sont nécessaires pour accéder à GetSharedDocumentsPath ou, mieux, sur GetTempPath ?
Et comment le faire : dans les options/permissions du projet, ou à la création du programme ?


Ensuite, pour lire le fichier pdf, j'utilise le code de Daniele Teti
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
   // start PDF viewer
  Intent := TJIntent.JavaClass.init;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setDataAndType(StrToJUri('file://'+FileName),
    StringToJString('application/pdf'));
//  Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NO_HISTORY or
//    TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP);
   try
// SharedActivity.StartActivity(Intent); // déprécié utiliser helper
TAndroidHelper.Activity.StartActivity(Intent); // TAndroidHelper.Activity.startActivityForResult(Intent, <quoi mettre ?>);
 except
    on e:Exception do
     ShowMessage('JNI Impossible '+'file://'+FileName+slinebreak+E.message);
   end;
à une différence près car il m'est indiqué d'utilisé le helper plutôt que le SharedActivity "déprécié"

Mais cela revient au même, le browser se lance et l'appli reprend la main aussitôt Je déconne où ?