2017-07-19 6 views
0

je tente d'ouvrir un pdf local, mais il ne sera pas ouvert à cause de cette exception: android.os.FileUriExposedException: file:///storage/emulated/0/appid/1438-938X_2015_07/0.pdf exposed beyond app through Intent.getData()Titanium appcelerator: FileUriExposedException - Comment utiliser Content Provider?

Je pense que je dois utiliser un fournisseur de contenu, mais comment puis-je obtenir le chemin content:// dans Appcelerator?

+0

Pourriez-vous partager la version de Titanium SDK et le niveau d'API Android que vous utilisez? – nebu

+0

J'utilise Ti SDk 6.0.4.GA et Android SDK cible 25. Mais je l'ai réparé aujourd'hui! –

Répondre

1

Aujourd'hui, j'ai été en mesure de résoudre mon problème. Je n'ai pas eu besoin d'utiliser un fournisseur de contenu. j'utilisais ce code pour créer une intention:

  Ti.Android.currentActivity.startActivity(Ti.Android.createIntent({ 
      action: Ti.Android.ACTION_VIEW, 
      type: 'application/pdf', 
      data: pdfPath 
     })); 

Non Je suis en utilisant ce code:

var intent = Ti.Android.createIntent({ 
      action : Ti.Android.ACTION_VIEW, 
      type : "application/pdf", 
      data: pdfPath 
     }); 


     var open = Ti.Android.createIntentChooser(intent, L('open_intent')); 
     Ti.Android.currentActivity.startActivity(open); 

J'espère que cela aide quelqu'un à un problème similaire!

+1

Cette solution ne fonctionne pas pour Ti SDK 6.2.2 et Android SDK cible 25 fonctionnant sur un Android 7+. –

+0

Ca marche toujours pour moi –

0

Il y avait un correctif dans Ti SDK 6.3.0 qui a corrigé cela.