당신은
requirdUri = Uri.fromFile(theSrcPath);
장치를 사용하는 경우 당신이에서이 코드를 사용해야 Nauget 위에 카메라 및 갤러리
당신이 방법은 아래 사용자에게 제공 업체를 만들어야에서 URI를 얻을. 이에 대한 당신은
고해상도 내부에 하나 개의 폴더를 생성해야합니다 -> XML을 -> 및 File_path_public.xml 명명 된 하나 개의 파일을 추가합니다. 참고 : 하나의 제공자처럼을 당신은 모든 파일의 이름
를 선택하고 해당 파일에 넣어 코드 내부
<?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;
}
매니페스트에 외부 저장소에 대한 권한이 있어야합니다.
합니다. – ADM