我试图解决这个问题三天,尝试了许多不同的代码我可以找到零结果。任何人都知道如何在android 6.0
设备permission
中运行Android应用程序以使用appcelerator
写入内部存储空间? SDK 5.4.0或5.3.1
答案 0 :(得分:0)
我正在使用此模块,这实际上是一种解决方法: https://github.com/gimdongwoo/Ti-Android-RequestStoragePermission
答案 1 :(得分:0)
在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>
In&#34; Tiapp.xml&#34; 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>