Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android JNI保存到SD卡_Android_C_Android Ndk_Save_Android Sdcard - Fatal编程技术网

Android JNI保存到SD卡

Android JNI保存到SD卡,android,c,android-ndk,save,android-sdcard,Android,C,Android Ndk,Save,Android Sdcard,我的目标很简单:将代码生成的数据保存到sd卡的某个位置(真实的,而不是模拟的)!但事实证明并非如此简单。我将Android SDK与JNI(用于使用Tango C-API)和联想phab 2 pro一起使用,我还阅读了 然而,我发现了一些帖子,他们只是使用目录“/sdcard”来存储文件。对我来说不起作用。接下来,我在我的主要活动中尝试了以下代码来首先查找外部设备: File sdCard = Environment.getExternalStorageDirectory(); File dir

我的目标很简单:将代码生成的数据保存到sd卡的某个位置(真实的,而不是模拟的)!但事实证明并非如此简单。我将Android SDK与JNI(用于使用Tango C-API)和联想phab 2 pro一起使用,我还阅读了 然而,我发现了一些帖子,他们只是使用目录“/sdcard”来存储文件。对我来说不起作用。接下来,我在我的主要活动中尝试了以下代码来首先查找外部设备:

File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath());
导致:

/storage/emulated/0
不幸的是,这不是我真正的SD卡。 我尝试了更多的方法来查找我的外部目录,但都得到了相同的路径。(如果有人感兴趣,我可以再次搜索) 无论我尝试什么,我总是在一个错误或fiktive SD卡土地

以下是我使用的代码:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.projecttango.examples.cpp.hellodepthperception"
android:versionCode="0"
android:versionName="0" >

<uses-sdk
    android:minSdkVersion="19"
    android:targetSdkVersion="19" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />

<uses-feature android:glEsVersion="0x00020000" android:required="true" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <uses-library 
        android:name="com.projecttango.libtango_device2"
        android:required="true" />
    <activity
        android:label="@string/app_name_long"
        android:name=".DepthPerceptionActivity"
        android:screenOrientation="nosensor">
        <intent-filter android:label="@string/app_name">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

sdCard=Environment.getExternalStorageDirectory()。不,这不是sd卡的路径。但是,正如函数名告诉您的那样,外部存储。您最好专注于如何找到sd卡路径。根据android版本和设备的不同,这可能是因为我已经识别了绿色应用程序,因为它确实给了我正确的路径。你对如何正确地做这件事有更好的想法吗?正如我所写的,我已经尝试了很多方法来获得正确的路径。所有这些都让我走上了虚拟外部存储的同一条道路。正如所说的,它取决于android版本。您没有对版本做出反应。请查看
getExternalFilesDirs()
。第二个条目是sd卡上的路径。。
chdir("/sdcard);

  FILE * f_sdcard = fopen("Test.txt", "a");
  if(f_sdcard == NULL) {
    LOGE("Error: File not created: %d", f_sdcard);
  }