あなたtargetSdkVersionが24以上であれば、我々は他のアプリのためにそれらにアクセスできるように、特定のファイルやフォルダへのアクセス権を与えるFileProviderクラスを使用する必要がありますのでご注意ください。
ステップ1:アプリケーションタグの下にAndroidManifest.xmlにFileProviderタグを追加します。
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
ステップ2:
、その後のresフォルダの下のxmlフォルダにprovider_paths.xmlファイルを作成します。フォルダが存在しない場合は作成するためにフォルダが必要な場合があります。ファイルの内容を以下に示します。外部フォルダへのアクセスをルートフォルダ(path = "。")でexternal_filesという名前で共有したいと考えています。
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>
ステップ3:最後のステップは
Uri uri = FileProvider.getUriForFile(PdfRendererActivity.this, PdfRendererActivity.this.getPackageName() + ".provider", outputFile);
ステップ4(オプション)に
Uri photoURI = Uri.fromFile(outputFile);
に以下のコードの行を変更することである。
tを作成する意図を使用している場合彼はあなたが次のコード行を追加する必要があり、あなたのファイルをシステムを開きます
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
希望、これは私たちがコードで我々のアプリを通してそれを行うことができますどのように依頼することを意味:)
私はここで関連する質問があります:https://stackoverflow.com/questions/45901768/how-to-share-pdfthrough-whatsapp-to-an-unsaved-contact –