Я получил этот код:
ContentValues content = new ContentValues();
content.Put(TokenProvider.InterfaceConsts.Id, "3");
content.Put(TokenProvider.InterfaceConsts.Token, "token3");
content.Put(TokenProvider.InterfaceConsts.ExparationDate, "date3");
try
{
ApplicationContext.ContentResolver.TakePersistableUriPermission(TokenProvider.CONTENT_URI, Android.Content.ActivityFlags.GrantWriteUriPermission);
var ddd = ApplicationContext.ContentResolver.Insert(TokenProvider.CONTENT_URI, content);
Android.Util.Log.Debug("test", "ddd: " + ddd);
} catch (...) {...}
И мой TokenProvider выглядит так:
[ContentProvider(new string[] { TokenProvider.AUTHORITY }, Exported = true, GrantUriPermissions = true, Label ="TokenProvider" )]
class TokenProvider : ContentProvider {
ServiceDB _s_DB;
public const string AUTHORITY = "com.***.***.TokenProvider";
static string BASE_PATH = "accesstokens";
static string DATABASE_TABLE = "accesstokens";
public static Android.Net.Uri CONTENT_URI = Android.Net.Uri.Parse("content://" + AUTHORITY + "/" + BASE_PATH);
// MIME types used for getting a list, or a single access token
public const string ACCESS_TOKEN_MIME_TYPES = ContentResolver.CursorDirBaseType + "/vnd.com.***.***.AccessTokens";
public const string ACCESS_TOKEN_MIME_TYPE = ContentResolver.CursorItemBaseType + "/vnd.com.***.***.AccessTokens";
// if you need anything more from here, I'll provide
}
Это вызывает ошибку (попробуйте поймать):
No persistable permission grants found for UID 10066 and
Uri content://com.***.***.TokenProvider/accesstokens
[user 0] Java.Lang.RuntimeException: No persistable permission grants found
for UID 10066
После поиска я обнаружил следующее:
Не найдено постоянных разрешений для URI
Но я понятия не имею, как открыть мою БД таким образом, вы можете помочь мне?
Спасибо за ваше время.