あなたは
requirdUri = Uri.fromFile(theSrcPath);
あなたのデバイスを使用している場合は、あなたがこのコードを使用すべきNaugetの上にあるカメラやギャラリー
あなたが方法下記のユーザーにプロバイダを作成する必要がありますからURIを取得します。このため あなたは
RES内のフォルダを作成する必要があります - >のXml - >とFile_path_public.xmlという名前のファイルを追加します。 注:1つのプロバイダと同様にあなたは、任意のファイル名
を選択することができますし、そのファイル入れてコードの中
<?xml version="1.0" encoding="UTF-8"?>
-<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path path="." name="external_files"/>
</paths>
とアプリケーションのタグ内にマニフェストファイルで
登録:
<!-- this is For Access External file Storage -->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.appName.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths_public" />
</provider>
次にこの機能を作成します。
public static Uri getUriFromFile(Context theCtx, File theSrcPath) {
Uri requirdUri = null;
// Above Compile SDKversion: 25 -- Uri.fromFile Not working
// So we have to use Provider
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
requirdUri = FileProvider.getUriForFile(theCtx,
theCtx.getApplicationContext().getPackageName() + CommonUtils.PROVIDER_FILE_EXTENSION,
theSrcPath);
} else {
requirdUri = Uri.fromFile(theSrcPath);
}
return requirdUri;
}
マニフェストで外部ストレージのアクセス許可が必要であることに注意してください。
は、問題のあなたの 'Intent'を追加します。 – ADM