저번에도 올렸던 질문인데 해결법을 잘 몰라서 한번 더 부탁드릴려고 합니다.
화면 캡쳐 버튼 기능을 구성했습니다.
container.buildDrawingCache();
Bitmap captureView = container.getDrawingCache();
FileOutputStream fos;
Intent it3=getIntent();
String str_name=it3.getStringExtra("it3_name");
File fileRoute = null;
fileRoute = Environment.getExternalStorageDirectory();
try {
File path = new File(fileRoute+"/play");
if(!path.isDirectory()){
path.mkdirs();
}
fos = new FileOutputStream(fileRoute+"/play/-"+str_name+"-.jpeg");
captureView.compress(Bitmap.CompressFormat.JPEG, 100, fos); //843번째 줄
}catch (FileNotFoundException e) {
e.printStackTrace();
}
Toast.makeText(getApplicationContext(), "/sdcard/FaceOn으로 저장되었습니다.", Toast.LENGTH_LONG).show();
위에 소스가 현재 2.2 프로요 기종(모토로라디파이)에서는 잘됩니다.
그런데 ics기기에서 (옵티머스 Ex) 테스트를 해봣는데 캡쳐버튼을 누르면 죽습니다.
로그캣을 봤는데 843번째 줄이 굵은 부분입니다.
로그를 찍어보니
비트맵 값이 널값이 납니다. ics에서 그러는거 같은데 무슨현상인지 해결법도 잘 모르겠습니다.
이 문제를 어떻게 해결해야 하나요?
06-16 16:48:48.390: E/AndroidRuntime(25620): FATAL EXCEPTION: main
06-16 16:48:48.390: E/AndroidRuntime(25620): java.lang.NullPointerException
06-16 16:48:48.390: E/AndroidRuntime(25620): at com.example.faceon.ResultActivity.onClick(ResultActivity.java:843)
06-16 16:48:48.390: E/AndroidRuntime(25620): at android.view.View.performClick(View.java:3524)
06-16 16:48:48.390: E/AndroidRuntime(25620): at android.view.View$PerformClick.run(View.java:14226)
06-16 16:48:48.390: E/AndroidRuntime(25620): at android.os.Handler.handleCallback(Handler.java:605)
06-16 16:48:48.390: E/AndroidRuntime(25620): at android.os.Handler.dispatchMessage(Handler.java:92)
06-16 16:48:48.390: E/AndroidRuntime(25620): at android.os.Looper.loop(Looper.java:137)
06-16 16:48:48.390: E/AndroidRuntime(25620): at android.app.ActivityThread.main(ActivityThread.java:4526)
06-16 16:48:48.390: E/AndroidRuntime(25620): at java.lang.reflect.Method.invokeNative(Native Method)
06-16 16:48:48.390: E/AndroidRuntime(25620): at java.lang.reflect.Method.invoke(Method.java:511)
06-16 16:48:48.390: E/AndroidRuntime(25620): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
06-16 16:48:48.390: E/AndroidRuntime(25620): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
06-16 16:48:48.390: E/AndroidRuntime(25620): at dalvik.system.NativeStart.main(Native Method)