如何在单个主屏幕上将图像设置为墙纸

时间:2012-11-01 11:19:45

标签: android wallpaper

我们知道android附带3或5或7个主屏幕。我想以编程方式在单个主屏幕上设置壁纸图像,并将其固定在所有其他主屏幕上。

我使用了以下代码:

 Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
 Bitmap bmp = Bitmap.createScaledBitmap(wallpaperImage,display.getWidth(),display.getHeight(), true);
 setWallpaper(bmp);

壁纸图片已设置,但它横跨所有3个主屏幕。如何将其固定到一个屏幕,以便在用户交换主屏幕时显示单个图像。

2 个答案:

答案 0 :(得分:0)

File f = new File(Environment.getExternalStorageDirectory(), "1.jpg");
String path = f.getAbsolutePath();
File f1 = new File(path);

if(f1.exists()) {
    Bitmap bmp = BitmapFactory.decodeFile(path);
    BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp);
    WallpaperManager m=WallpaperManager.getInstance(this);

    try {
        m.setBitmap(bmp);
    } catch (IOException e) {
        e.printStackTrace();
    }
} 

打开Androidmanifest.xml文件,添加使用Permission as

'uses-permission android:name="android.permission.SET_WALLPAPER" /'

试试这个,让我知道发生了什么......

答案 1 :(得分:0)

使用以下代码,您可以设置

    Uri sendUri = Uri.fromFile(externalFile)
    Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
    intent.setDataAndType(sendUri, "image/jpg");
    intent.putExtra("mimeType", "image/jpg");
    startActivityForResult(Intent.createChooser(intent, "Set As"), 200);

并在androidmanifest.xml中添加权限