コードワイドアンドロイドアプリで(デバイス、バージョン、プラグインリストの下にスクロールしてください)、私は優先的に保存したい外部SDカード上にファイルを作成し、SDCardが存在しない場合は内部ストレージを使用します。私は私の保存パスを設定しています:///storage/emulated/0/Android/data/com.fubar.app/files/、cordova.fileと同じ:コードバーとファイルプラグインでアンドロイドの外部sdcardを強制的に
persistentFS= cordova.file.externalDataDirectory||cordova.file.DataDirectory||fileSystem.root.toURL();
その最終的な値は、ファイルです.externalDataDirectory。
は私が設定している:index.htmlを セキュリティメタタグ内のAndroidManifest.xmlで config.xmlに <access origin="cdvfile://*" /> ... <preference name="AndroidPersistentFileLocation" value="Compatibility" /> <preference name="AndroidExtraFilesystems" value="files-external,sdcard,files,documents,cache,cache-external,root" />
、 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
と設定した各種エンチャント。私は、SDカードが挿入され、書き込みが可能であることを付け加えます。 は、ファイルマネージャーなどで書き込むことができることを確認します。 にはAndroid/data/com.fubar.myapp/files /フォルダが含まれています。
何もないもの:ファイルが内部デバイスストレージに書き込まれ、そこから読み込まれます。私はこのトピックで掃除されたすべてのgoogleを読んだが、何も私の仕事に近づかなかった(ファイルシステムルートのプラグインを使うことを提案する人もいますが、ファイルプラグインに組み込まれているようです)。
ヒント TIA、 ALF
編集:
`/storage/extSdCard/Android/data/com.fubar.myapp/files`
と
にresolveLocalFileSystemURLを呼び出す: adbのシェルを使用して、私はアプリのために外部のSDカードファイルフォルダは、絶対パスを持っていることがわかりますfile:///storage/extSdCard/Android/data/com.fubar.myapp/files
がうまくいく。私はそれが道にあるとは思わない、その道は装置に依存するからだ。
デバイス:サムスンギャラクシータブ10.5、プラグインと、コルドバ5.3.1を使用して5.0.1をロリポップ: コルドバ・プラグインデバイス1.0.1「デバイス」 コルドバ・プラグインのダイアログ1.1.1「通知" cordova-plugin-file 3.0.0" File " cordova-plugin-file-transfer 1.3.0"ファイル転送 " cordova-plugin-media 1.0.1" Media " cordova-plugin-whitelist 1.1.0"ホワイトリスト "
ビルドホストはLinux FC21
私はコードバ内で、javascriptで行うことはできますか?私が試してみたら、Contextは定義されていないので、あなたが話しているのはJava APIだと思います。 –