前提・実現したいこと
Roomを使ってメモアプリを作っています。FileProviderを使ってRoomデータベースを取り出したいと思っています。
発生している問題・エラーメッセージ
取り出すボタンを押下すると、どのアプリ(Gmailなど)にファイルを添付するか選択するダイアログは起動するのですが、添付するアプリを選択した直後、"ファイルは添付されませんでした"というトーストが表示され、ファイルが添付されません。取り出せるようにしたいのですが、対処方法をご教示頂けますと幸いです。
該当のソースコード
MainActivity.kt(抜粋)
val shareFile = File(this.filesDir.path + "/mybase.db") val shareUri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileprovider", shareFile) val intent = Intent(Intent.ACTION_SEND) intent.type ="plain/text" intent.putExtra(Intent.EXTRA_STREAM, shareUri) startActivity(intent)
AndroidManifest.xml(抜粋)
<provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/my_provider" /> </provider>
my_provider.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <files-path name="doc" path="."/> </paths> </resources>
補足情報(FW/ツールのバージョンなど)
・Android Studio 4.1.1
・Kotlin 1.4.21
・Room 2.2.6
あなたの回答
tips
プレビュー