直接存储到 android 中的文件?

Storing directly to file in android?

我一直在开发儿童监控应用程序,但我不知道如何store/write 将通话记录直接提取到 external/internal 存储

中的文件中

正如您在问题中所评论的那样,这是一个非常广泛的问题,但请看一下这个 google 开发人员 link

https://developer.android.com/training/basics/data-storage/files.html

它会让你清楚地了解你的问题,你也会得到你的答案以及详细的代码

希望对您有所帮助:)

您应该使用文件 URI 以避免 android 安全问题。这样您就可以在其他应用程序中使用这些文件(向它们授予权限)

首先,将其放入您的 android-清单中:

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

然后您需要在应用程序标签中定义文件提供程序:

<provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="com.yourpackagename.yourapp"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"/>
        </provider>

file_path 资源应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path
        name="YourAppCacheStorage"
        path="YourAppCacheStorage"/>
</paths>

然后您就可以随时获取您的文件 URI。

public Uri getUriForFile(File file, Context context) {
                final Uri uriForFile = FileProvider.getUriForFile(context,
                            context.getString(R.string.file_provider_authority),
                            file);
                return uriForFile;
}

此 uri 可用于打开 Input\Output 文件流。

InputStream inputStream = this.context.getContentResolver().openInputStream(uri);

您可以在那里获得更多信息:https://developer.android.com/reference/android/support/v4/content/FileProvider.html