마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

setwallpaper 할때 os별 화면에 맞춰서 resize하기..

0 추천
안녕하세요 : )

배경화면 어플을 하나 만들려고 하는데

1.제가 인터넷에 올려온 이미지를 bitmap 으로 받아온다

2.안드로이드 os 의 화면 너비, 높이를 구한다

3.받아온 bitmap 을 os 화면 크기에 맞게 resize 한다

4.setwallpaper 적용

이렇게 구상해 봤는데요

1. Bitmap bitmap = BitmapFactory.decodeFile("http://img09.deviantart.net/29b6/i/2016/160/c/d/d_va_suit_mei_by_instantip-da5axan.jpg");

2.DisplayMetrics d = getApplicationContext().getResources().getDisplayMetrics();
   x = d.widthPixels;
  y = d.heightPixels;
3. bitmap = Bitmap.createScaledBitmap(bitmap, x, y, true);
4. try {
    wallpaperManager.setBitmap(resizedBitmap);
} catch (IOException e) {
    e.printStackTrace();
}

이렇게 했는데
자꾸  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
오류가 뜨네요;;
bitmap = Bitmap.createScaledBitmap(bitmap, x, y, true);
여기서 x , y 부분인데 이게 안먹혀서 다른걸로도(다른 화면사이즈 구하는법) 다 시도 해봤는데 전부 똑같은 오류가 걸리더라고요;
심지어 150,150 해도 오류납니다;
대체 왜그런거죠?ㅜ
익명사용자 님이 2016년 6월 27일 질문

1개의 답변

0 추천
aucd29 (218,390 포인트) 님이 2016년 6월 28일 답변
...