This commit is contained in:
bluesea 2024-05-15 12:08:32 +08:00
parent 2e0e6acc26
commit e9a3a4eec5
3 changed files with 24 additions and 14 deletions

View File

@ -39,7 +39,7 @@ class ImgCategoryPageController extends GetxController {
//.... //....
} }
void setWallpaper(String imgUrl) { Future <void> setWallpaper(String imgUrl) async {
print("....set wall...."); await DownloadManager.setWallpaper(imgUrl);
} }
} }

View File

@ -97,24 +97,20 @@ class ImgCategoryPageView extends GetView<ImgCategoryPageController> {
List<Widget> getButtomWidge(String imgUrl){ List<Widget> getButtomWidge(String imgUrl){
List<Widget> wg = [ List<Widget> wg = [
IconButton(onPressed:() { IconButton(onPressed:() {
print("download....");
controller.downloadImg(imgUrl); controller.downloadImg(imgUrl);
}, icon: Icon(Icons.download),color: Colors.white,), }, icon: const Icon(Icons.download),color: Colors.white,),
IconButton(onPressed:() { IconButton(onPressed:() {
print("保存至相册");
controller.saveImgToAlbum(imgUrl); controller.saveImgToAlbum(imgUrl);
}, icon: Icon(Icons.album),color: Colors.white,), }, icon: const Icon(Icons.album),color: Colors.white,),
]; ];
if (controller.isAndroid) { if (controller.isAndroid) {
wg.add(IconButton(onPressed:() { wg.add(IconButton(onPressed:() {
print("设置壁纸");
controller.setWallpaper(imgUrl); controller.setWallpaper(imgUrl);
}, icon: Icon(Icons.wallpaper),color: Colors.white,)); }, icon: const Icon(Icons.wallpaper),color: Colors.white,));
} }
return wg; return wg;
} }

View File

@ -1,6 +1,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:image_gallery_saver/image_gallery_saver.dart'; import 'package:image_gallery_saver/image_gallery_saver.dart';
import 'package:wallpaper/utils/local_img_manager.dart'; import 'package:wallpaper/utils/local_img_manager.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
@ -61,15 +62,28 @@ class DownloadManager {
var reqiest = await httpClient.getUrl(Uri.parse(urlStr)); var reqiest = await httpClient.getUrl(Uri.parse(urlStr));
var response = await reqiest.close(); var response = await reqiest.close();
var bytes = await consolidateHttpClientResponseBytes(response); var bytes = await consolidateHttpClientResponseBytes(response);
// final result =
final result = await ImageGallerySaver.saveImage( await ImageGallerySaver.saveImage(
Uint8List.fromList(bytes), Uint8List.fromList(bytes),
quality: 60, quality: 60,
name: "hello"); name: "hello");
print(result); }
//android设置壁纸
static Future<bool> setWallpaper(String urlStr) async {
bool result;
try {
result = await AsyncWallpaper.setWallpaper(
url: urlStr,
wallpaperLocation: AsyncWallpaper.HOME_SCREEN,
goToHome: false,
// toastDetails: ToastDetails.success(),
// errorToastDetails: ToastDetails.error(),
);
} on PlatformException {
result = false;
}
return result;
} }