通过URL将图像作为壁纸放置

时间:2018-01-19 20:02:41

标签: android android-studio

我的应用程序有一个Picasso画廊,它通过字符串获取URL的图像,当用户点击其在另一个活动上打开的某个图像时,会将图像保留在大屏幕上。

在此活动中,我想留下一个按钮,将图像应用到智能手机的壁纸上。

代码:

https://github.com/tenorius/Picasso-Tutorial

2 个答案:

答案 0 :(得分:0)

要设置手机壁纸,您可以使用WallpaperManager课程 通过使用:

获取它
WallpaperManager wallpaperManager = WallpaperManager.getInstance(getApplicationContext())

并使用方法setStream(InputStream bitmapData)setBitmap(Bitmap bitmap)让您感觉更舒服。

您可以在文档中找到更多信息: https://developer.android.com/reference/android/app/WallpaperManager.html#setStream(java.io.InputStream)

https://developer.android.com/reference/android/app/WallpaperManager.html#setBitmap(android.graphics.Bitmap)

请注意,您必须添加

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

到您的清单权限

这应该是这样的:

Target target = new Target() {
    @Override
    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
         WallpaperManager wallpaperManager = WallpaperManager.getInstance(getApplicationContext());
         wallpaperManager.setBitmap(bitmap);
    }

    @Override
    public void onBitmapFailed(Drawable errorDrawable) {

    }

    @Override
    public void onPrepareLoad(Drawable placeHolderDrawable) {

    }
};
Picasso.with(getContext()).load(url).into(target);

答案 1 :(得分:0)

在android下面设置壁纸代码:使用WallpaperManager Class

Button buttonSetWallpaper = (Button)findViewById(R.id.set); ImageView imagePreview = (ImageView)findViewById(R.id.preview); imagePreview.setImageResource(R.drawable.five); buttonSetWallpaper.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext()); try { myWallpaperManager.setResource(R.drawable.five); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } });

需要在Manifest中设置权限:

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

我希望这会有所帮助。