gpt4 book ai didi

Android:如果我想从下载文件夹中查看/选择 SQLite 数据库,要使用什么 mime 类型?

转载 作者:IT王子 更新时间:2023-10-29 06:22:08 24 4
gpt4 key购买 nike

我正在使用 SQLite 数据库编写应用程序。我已经为备份我的 SQLite 数据库编写了代码。我现在希望能够从这样的副本中恢复我的应用程序数据库。我正在使用 Android 设备的“打开自”对话框。如果我使用列表中的其他内容提供商,例如“蓝牙文件传输”,我会看到该文件!但是,如果我尝试使用“下载”选项,则看不到它。

我在我的下载文件夹中复制了一个 SQLite 数据库。我尝试使用 fileIntent.setType("/")。

谢谢。

最佳答案

它是 application/x-sqlite3。我在我自己的应用程序中使用它。

More info here .

这是我如何使用它的示例:

File backupDB = ...;

//Uri uri = Uri.fromFile(backupDB); //From Android 7, this line results in a FileUriExposedException. Therefore, we must use MyFileProvider instead...
Uri uri = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".com.example.myapp.myfileprovider", backupDB);

Intent newIntent = new Intent(Intent.ACTION_VIEW);
newIntent.setDataAndType(uri, "application/x-sqlite3");
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
newIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

startActivity(newIntent);

为了完整起见,这是我的 MyFileProvider.java 类:

package com.example.myapp;

import android.support.v4.content.FileProvider;

public class MyFileProvider extends FileProvider {
}

下面是如何在 list 中声明它:

<provider
android:name=".MyFileProvider"
android:authorities="${applicationId}.com.example.myapp.myfileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/my_file_provider_paths"/>
</provider>

最后,这是我的 my_file_provider_paths.xml:

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

### 更新(2019 年 11 月 20 日)###

显然,application/x-sqlite3 现已弃用。请看Fabian's answer ,了解更多信息。

关于Android:如果我想从下载文件夹中查看/选择 SQLite 数据库,要使用什么 mime 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31301552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com