2016-09-01 1 views
1

Я пытаюсь решить это в течение трех дней, пробовал много разных кодов, которые я мог найти с нулевыми результатами. Кто-нибудь знает, как подать приложение для Android в android 6.0 устройстве permission для записи во внутреннее хранилище с appcelerator? SDK 5.4.0 или 5.3.1Рабочий код для предоставления разрешению приложения для Android android 6.0 для записи на внутреннее хранилище с помощью appcelerator

+0

После долгих поисков и чтения, я не могу даже найти, что приложениям требуется разрешение на запись во внутреннее хранилище, поэтому у меня есть noidea, почему у моего приложения есть настройки по умолчанию с запретом на хранение. – user3281831

+0

Вы пробовали http://docs.appcelerator.com/platform/latest/#!/api/Titanium.Filesystem-method-requestStoragePermissions и http://docs.appcelerator.com/platform/latest/#!/api/ Titanium.Filesystem-метод-hasStoragePermissions ??? –

ответ

0

Ok с помощью ребят из Appcelerator, кажется, я наконец-то работает пример кода.

в index.js

function doClick(e) { 
if (!Ti.Filesystem.hasStoragePermissions()) { 
Ti.Filesystem.requestStoragePermissions(function(result) { 
    console.log('Permission granted? ' + result.success); 
    if (result.success) { 
    getFile(); 
    } 
    else { 
    alert('Permission denied.'); 
    } 
}); 
    } 
else { 
getFile(); 
} 
} 
function getFile() { 
    var url = "http://www.appcelerator.com/wp-content/uploads/GettingStartedTitanium_Linux.pdf"; 
var fileName = "GettingStartedTitanium_Linux.pdf"; 

var httpClient = Ti.Network.createHTTPClient(); 
httpClient.onerror = function(e) { 
alert('Download Error: ' + e.error); 
}; 
httpClient.onload = function(e) { 
var filePath = Ti.Filesystem.tempDirectory + Ti.Filesystem.separator + fileName; 
var f = Ti.Filesystem.getFile(filePath); 
var file = f.write(this.responseData); 
alert('File exist? ' + f.exists()); 
}; 
httpClient.open('GET', url); 
httpClient.send(); 
} 
$.index.open(); 

В "index.xml"

<Alloy> 
<Window class="container"> 
<Label id="label" onClick="doClick">Hello, World</Label> 
</Window> 
</Alloy> 

В "Tiapp.xml" Android раздела

<android xmlns:android="http://schemas.android.com/apk/res/android"> 
<manifest> 
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
</manifest> 
</android>