ファイル ストレージには、オンラインで見つけたいくつかの例を組み合わせたカスタム ContentProvider を使用しています。クラス自体で定義された 1 つのファイル名 (mImageName) を使用する限り、かなりうまく機能しているように見えますが、クラス自体の外でパラメーターを使用してファイル名を定義できるようにする必要があります。誰かがこれで私を助けることができますか? これが私の ContentProvider クラスのスニペットです:
public class FileStorageContentProvider extends ContentProvider {
static final String AUTHORITY = "content://com.jwburnside.provider";
public static final Uri CONTENT_URI = Uri.parse(AUTHORITY);
private static final HashMap<String, String> MIME_TYPES = new HashMap<String, String>();
private String mImageName = "myImage";
static {
MIME_TYPES.put(".jpg", "image/jpeg");
MIME_TYPES.put(".jpeg", "image/jpeg");
}
public FileStorageContentProvider() {}
@Override
public boolean onCreate() {
try {
File mFile = new File(getContext().getFilesDir(),mImageName);
if(!mFile.exists()) {
mFile.createNewFile();
getContext().getContentResolver().notifyChange(CONTENT_URI, null);
}
return (true);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
そして私の活動では:
mImageCaptureUri = FileStorageContentProvider.CONTENT_URI;