2010-08-03 186 views
4

我正在開發一個基於用戶輸入設置壁紙的簡單應用程序。 我缺少設置壁紙的代碼。 我一直在很多網站上徒勞地尋找它。 任何人都可以發佈一個示例代碼,將其設置爲壁紙作爲保存在res文件夾中的繪圖?在Android中設置壁紙

+0

這一切都在文檔中: http://developer.android.com /reference/android/app/WallpaperManager.html – 2010-08-03 19:00:27

回答

4

適用於Android 1.5及以上

public void setWallpaper() { 
    Context context = this.getBaseContext(); 
    Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), mImageIds[pos]); 

    context.setWallpaper(mBitmap); 
} 
+0

非常感謝! 你是否知道我如何解決像素化問題。 我聽說應用程序:壁紙設置和保存產生超清晰的壁紙,它只是使用裁剪方法來調整壁紙到屏幕? 再次非常感謝 – Amine 2010-08-05 02:57:42

+0

不能說這個......我必須在對它做出評論之前進行搜索 – 2010-08-05 06:17:02

1

ü可以嘗試

InputStream inputStream = getResources().openRawResource(wallpaperResource); 
Bitmap setWallToDevice = BitmapFactory.decodeStream(inputStream); 

try { 
getApplicationContext().setWallpaper(setWallToDevice); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

然而,這種方法已被棄用,這樣你們可以使用

try { 
WallpaperManager.getInstance(getApplicationContext()).setResource(wallpaperResource); 
} catch (IOException e){ 
e.printStackTrace(); 
} 
0

在這裏,我們如何能夠從設置壁紙我們的android應用程序

MainActivity.Java

public class AlarmActivity extends Activity{ 



     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 



      WallpaperManager myWallpaperManager 
        = WallpaperManager.getInstance(getApplicationContext()); 


        try { 
         myWallpaperManager.setImageResource(R.raw.sample); 
        } catch (IOException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 

    } 
} 

的Manifest.xml

你應該提供此權限

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