Sorun açıklaması: Dahili depolamaya dosya veya dosya sistemi kökleriyle (okuma ve yazma) erişebilirim. Ancak böyle bir dosya başka bir uygulamadan erişilemez. Örneğin bu dosyayı emailComposerPlugin aracılığıyla göndermek istersem, dosyaya e-posta istemcisi tarafından erişilemez. (Aynı şey "open with" işlevi için de geçerli.) {sandboxed: true}
seçeneklerini false (external storage'a yazmak için) olarak değiştirirseniz, çalışmaz ve FileUtils.UNKNOWN_ERR dosyasında biter. Bazı dokümanlar bilgisayar üzerine monte edilirken harici depolama erişilemediğini belirtti, ancak aynı sonucu olsa da, telefon USB bağlantısı kesilirken uygulamayı denedim.Cordova dosya/dosya sistemi kökleri eklentileri ile harici depolama nasıl erişilir?
mailing list'da okuduğumdan bu mümkün olmalıdır. Önemli bir noktayı özledim mi?
Bağlam: Android aygıtlarda çalışabilmesi için iPhone için oluşturulan bir karma uygulamayı etkinleştirmeyi deniyorum. Küçük bir oyun alanına sahip olmak için küçük bir test projesi yapıyorum.
Düzenleme: Dosya sistemi kökleri ve dosya eklentisi arasında bir sorun var gibi görünüyor. Ama ikisinin de en yeni versiyonları var. (Dosya: 1.0.1 Dosya-sistemi-kökleri: 0.1.0) dosya sistemi ve dosya sınıfları
private String fullPathForLocalURL(Uri URL) {
if (FILESYSTEM_PROTOCOL.equals(URL.getScheme()) && "localhost".equals(URL.getHost())) {
String path = URL.getPath();
if (URL.getQuery() != null) {
path = path + "?" + URL.getQuery();
}
return path.substring(path.indexOf('/', 1));
// path = "/cache-external" at this point
// results in index out of bounds exception
Ne denedi olduğunu göstermektedir ayıklama?
i anladım tüm bu konuya bakıyor biraz kazma sonra javascript kodu
function createTextDocument(filename, text) {
cordova.filesystem.getDirectoryForPurpose('cache', {sandboxed: false}, successCallback, failureCallback);
function successCallback(directoryEntry){
console.log('directory found (cordova): ' + directoryEntry.toURL());
console.log('directory found (native) : ' + directoryEntry.toNativeURL());
directoryEntry.getFile(filename, {create: true, exclusive: false},
function(fileEntry){
var filePath = fileEntry.toNativeURL();
fileEntry.createWriter(
function(fileWriter){
console.log('start writing to: ' + filePath);
fileWriter.write(text);
console.log('file written');
},failureCallback
);
}, failureCallback
);
}
function failureCallback(error){
console.log('error creating file: ' + error.code);
// results in code 1000
}
}
harici sd kart için yazma yeni dosyanın tam çalışma örneği verebilir misiniz? –
Bu kodu kullanarak bittim: window.resolveLocalFileSystemURL ('dosya: /// storage/extSdCard /', işlev (fs) {var nativePath = fs.toURL(); alert (nativePath);}, işlev (err) {alert (err);}); ' –
Sorunumun ne kadar benzer olduğundan emin değil. Ancak AndroidPersistentFileLocation uyumluluğuna sahip olmak, sorunu cordova v5 + –