2016-04-28 23 views
0

まず、ダウンロードしたPDFファイルをダウンロードしようとしていますが、ダウンロードしたパスからWebViewにそのPDFファイルを開こうとしています。 PDFのローカルストレージファイルパスを指定するとエラーが表示されます。下に私のコードを貼り付け、そのファイルを開こうとしている間にエラーが発生しました。この問題の解決策を見つけるのを助けてください。WebViewのチタンapplicationDataDirectoryローカルストレージからオフラインpdfファイルを開こうとしています

var xhr = Titanium.Network.createHTTPClient({ 
 
onload : function() { 
 
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, 'test.pdf'); 
 
if (!f.exists()) { 
 

 
f.write(this.responseData); 
 
filepath = f.nativePath; 
 
Ti.API.info('new pdf file'); 
 
} else { 
 
Ti.API.info('file exists' + f.nativePath); 
 
var intent = Ti.Android.createIntent({ 
 
action : Ti.Android.ACTION_VIEW, 
 
type : "application/pdf", 
 
data : f.nativePath 
 
}); 
 
try { 
 
Ti.Android.currentActivity.startActivity(intent); 
 
} catch(e) { 
 
Ti.API.debug(e); 
 
alert('No apps PDF apps installed!'); 
 
} 
 

 

 
} 
 
}, 
 
timeout : 10000 
 
}); 
 
xhr.open('GET', 'http://www.appcelerator.com/assets/The_iPad_App_Wave.pdf'); 
 
xhr.send();

+0

@anupの解決策を見つけましたか? – Hasnain

答えて

0

これは、Android上のAppceleratorのに共通の問題です。問題は次のとおりです。

  • AndroidはデータディレクトリがAppceleratorのにプライベート、および任意の外部のPDFビューアで読み取り可能ではありません(iOSのとは違って)内蔵のPDFビューア
  • を持っていません。

これを回避するには、コードをAndroidデバイスの外部ストレージ(SDカードなど)にコピーしてから開く必要があります。これはエミュレートするのが非常に不可能で、SDカードを搭載したデバイスがなければ動作しません。

私はまだAppceleratorの新しいSDK(5.5.1 - > 6.0.2)で動作するこの問題の解決策を探しています。

私はあなたが答えを探してウェブをトロールとのようなものに遭遇しています(私のように)確信している:

https://archive.appcelerator.com/question/99031/how-to-open-pdf-file-saved-inside-app-directory-in-android-mobile

http://www.appcelerator.com/blog/2015/08/appcelerator-pdf-viewer-demo/

しかし、私が作るように見えることはできませんそれらのいずれかが動作します。

関連する問題