【问题标题】:UNIX/Android low-level API: need to get "Documents" pathUNIX/Android 低级 API:需要获取“文档”路径
【发布时间】:2013-07-15 12:20:30
【问题描述】:

我需要从在 Android 下运行的 C 代码中获取“文档”路径。不同操作系统的类似物是:

在 Windows 上:

SHGetKnownFolderIDList(FOLDERID_Documents, ...) 

返回“我的文档”文件夹的路径。

在 iPhone 上:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

一种解决方案是通过 JNI 调用一些 Android 高级函数(顺便问一下,哪个函数?)。但是有原生函数吗?

【问题讨论】:

    标签: android api unix filesystems low-level


    【解决方案1】:

    Android 中没有标准的“文档”路径。

    您可以在the Environment class 上定义的DIRECTORY_* 常量中看到标准公共目录。 AFAIK,除了从 Java 中传递它之外,没有办法从 NDK 中获取它们的位置——您可以从 Environment 上的 getExternalStoragePublicDirectory() 方法获取 Java 中的目录。而且它们都不是“文档”——DIRECTORY_DOWNLOADS 可能是最接近的匹配项。

    【讨论】:

      【解决方案2】:

      所以,我将使用 Android API(通过 JNI 调用)并为原生数据创建必要的文件夹。所以,这是函数

      getApplication().getDir("NativeData", Context.MODE_PRIVATE).getAbsolutePath(),
      

      这很适合我。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-08
        • 2017-01-28
        • 2014-06-06
        • 2020-09-23
        • 1970-01-01
        • 2020-08-09
        • 1970-01-01
        • 2011-01-25
        相关资源
        最近更新 更多