2010-02-05 1 views
7

가능한 중복 :
Android - how to set the wallpaper imageAndroid - 배경 화면 이미지 설정 방법

내가 멍청한 놈에있어 URI (크로 핑)

을 이미지를 사용하지 않는 배경 화면을 설정하는 것입니다 노력하고있어

dev에 안드로이드와 dev에 일반적으로. 배경 화면을 설정할 수있는 코드를 제공하는 데 인터넷이 실패했습니다.

예는 dev에 자원 사이트는

public void setStream (InputStream data)

라고하지만 난, 일부 샘플 코드가 나를 크게 도움이 될 그것을 이해하지 않습니다.

+0

관련 항목 : [안드로이드 - 배경 화면 설정 방법] (0120-13753) android-how-to-set-the-wallpaper-image) – McDowell

답변

3

이미지 URL이있는 경우 스트림 (추상화)을 사용하여 나타내는 리소스를 열 수 있습니다 : new URL("your.image.url.com").openStream(). 이 메소드 호출은 setStream() 메소드의 인수로 전달할 수있는 InputStream 유형의 객체를 반환합니다.

직접 스트림을 지정하지 않으려면 원격 스트림을 열고 비트 맵을 만든 다음 (권장되지 않음)을 사용하여 비트 맵을 배경 무늬로 설정하십시오.

this 스레드를 참조하십시오.

+0

이것은 현재 코드입니다. InputStream is = getContentResolver(). openInputStream (imageUri); bgImage = BitmapFactory.decodeStream (있는); 컨텍스트 context = this.getBaseContext(); context.setWallpaper (bgImage) bgImage (라인 2, 4)과 getBaseContext() (라인 3)에 ' 오류 또한 뭐죠 URI와 URL의 차이? 대답은 "URL은 URI이지만 URI는 URL이 아닙니다"라고 대답했습니다. –

+0

괜찮 았는데 2 행과 4 행의 오류를 수정 했으므로 비트 맵 bgImage를 정의하지 않았습니다. 하지만 여전히 getBaseContext() 오류가 발생했습니다 –

+0

Activity 인스턴스를 Context로 전달할 수 있다는 것을 알고 계십니까? this.getBaseContext()를 수행 할 필요가 없습니다. 현재 액티비티 또는 컨텍스트 객체의 인스턴스를 전달할 수 있습니다. [ "this"가 유효한 컨텍스트 객체가 될 경우] – Samuh

11

안녕하세요. 이미지 경로가있는 경우이 코드를 사용할 수 있습니다.

is = new FileInputStream(new File(imagePath)); 
bis = new BufferedInputStream(is); 
Bitmap bitmap = BitmapFactory.decodeStream(bis); 
Bitmap useThisBitmap = Bitmap.createScaledBitmap(
    bitmap, parent.getWidth(), parent.getHeight(), true); 
bitmap.recycle(); 
if(imagePath!=null){ 
    System.out.println("Hi I am try to open Bit map"); 
    wallpaperManager = WallpaperManager.getInstance(this); 
    wallpaperDrawable = wallpaperManager.getDrawable(); 
    wallpaperManager.setBitmap(useThisBitmap); 

당신이있는 경우 이미지 URI는이

wallpaperManager = WallpaperManager.getInstance(this); 
wallpaperDrawable = wallpaperManager.getDrawable(); 
mImageView.setImageURI(imagepath); 

어떤 문제가 있는지 알려주세요 사용합니다.

+0

이 라인의 사용은 뭐죠? wallpaperDrawable = wallpaperManager.getDrawable(); –