FileOpenPicker を使用して、ユーザーがファイル (sqlite-db) を選択できるようにします。このファイルは、コンピューター上のどこにでもあります。
public async Task<string> PickDb()
{
Windows.Storage.StorageFile file = null;
var picker = new FileOpenPicker();
picker.FileTypeFilter.Add(".sqlite");
file = await picker.PickSingleFileAsync();
if (file != null)
return file.Path;
else
return string.empty;
}
次に、このファイル名が sqlite に渡され、sqlite 接続が開かれます。
そのため、sqlite-file がアプリのホーム ディレクトリにある場合、sqlite-connection は適切に開かれています。ファイルが別の場所にある場合、sqlite-connection は読み取りエラーを返します。
私は、UWP アプリがファイルシステムへのアクセスを制限していることを知っています。しかし、私が理解している限り、ユーザーが手動で選択した FileOpenPicker によって返されたファイルには、常に読み取り/書き込み権限があります。
どこが間違っていますか?