2012-11-01 94 views
0

正如我們所知,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主屏幕跨越。我如何將它修復到一個屏幕上,以便用戶在主屏幕上單擊時會顯示單個圖像。

回答

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文件和附加使用權限爲

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

試試這個,讓我知道發生什麼事..

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中添加權限