Функция обоев в Xamarin. Android. Как работает и как его использовать? - PullRequest
0 голосов
/ 20 марта 2020

в приложениях UWP я могу использовать этот код, чтобы установить StorageFile в качестве обоев устройства для рабочего стола и экрана блокировки:

public static async System.Threading.Tasks.Task ApplyWallpaper(StorageFile storageFile)
{
   await UserProfilePersonalizationSettings.Current.TrySetWallpaperImageAsync(storageFile);
   await UserProfilePersonalizationSettings.Current.TrySetLockScreenImageAsync(storageFile);
}

в поисках Xamarin. Android Я нашел WallpaperManager, но не могу действительно, как использовать это точно.

static WallpaperManager myWallpaperManager;
public static void ApplyToDesktop(Bitmap bitmap)
{
   myWallpaperManager.SetBitmap(bitmap);
}

Можете ли вы сказать мне эквивалент кода UWP для Xamarin. Android?

1 Ответ

0 голосов
/ 23 марта 2020

Сначала добавьте разрешение в AndroidManifest.xml:

<uses-permission android:name="android.permission.SET_WALLPAPER"/>

Затем установите обои, sample вот имя изображения в папке Drawable:

public void setWallpaper() {

    Bitmap bitmap = BitmapFactory.DecodeResource(Resources,Resource.Drawable.sample);

    WallpaperManager manager = WallpaperManager.GetInstance(ApplicationContext);

    manager.SetBitmap(bitmap);
    //or
    manager.SetBitmap(bitmap, null, true, WallpaperManagerFlags.Lock);

}

Я загрузил пример проекта здесь , и вы можете проверить его.

...