だから私は画像キャプチャを実行して画像をimageviewにロードしようとしています.samsung Galaxy miniとGalaxy Oneでは正常に動作しますが、samsung Galaxy s3ではアプリに戻るとクラッシュします. アクティビティを開始するための私のコード:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, 11);
そして、アクティビティ結果を受け取るコード:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == 11) {
ImageView slika=(ImageView)findViewById(R.id.nesrecaSlika1);
Bitmap photo = (Bitmap) data.getExtras().get("data");
slika.setImageBitmap(photo);
}
ただし、デバッグ中にコードにエラーはありませんが、アプリはリターン時にクラッシュします。写真を撮らずに戻ると、正常に動作します。私のlogcatでは、その問題が発生します:
11-14 16:39:08.976: E/AndroidRuntime(19745): FATAL EXCEPTION: main
11-14 16:39:08.976: E/AndroidRuntime(19745): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.view.ViewRootImpl.setView(ViewRootImpl.java:702)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:316)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:218)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:143)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.view.Window$LocalWindowManager.addView(Window.java:547)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.widget.PopupWindow.invokePopup(PopupWindow.java:1001)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:858)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:822)
11-14 16:39:08.976: E/AndroidRuntime(19745): at com.motiviti.zmapp.MainActivity.showPopup(MainActivity.java:310)
11-14 16:39:08.976: E/AndroidRuntime(19745): at com.motiviti.zmapp.MainActivity.access$10(MainActivity.java:297)
11-14 16:39:08.976: E/AndroidRuntime(19745): at com.motiviti.zmapp.MainActivity$8.run(MainActivity.java:287)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.os.Handler.handleCallback(Handler.java:605)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.os.Handler.dispatchMessage(Handler.java:92)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.os.Looper.loop(Looper.java:137)
11-14 16:39:08.976: E/AndroidRuntime(19745): at android.app.ActivityThread.main(ActivityThread.java:4514)
11-14 16:39:08.976: E/AndroidRuntime(19745): at java.lang.reflect.Method.invokeNative(Native Method)
11-14 16:39:08.976: E/AndroidRuntime(19745): at java.lang.reflect.Method.invoke(Method.java:511)
11-14 16:39:08.976: E/AndroidRuntime(19745): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
11-14 16:39:08.976: E/AndroidRuntime(19745): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
11-14 16:39:08.976: E/AndroidRuntime(19745): at dalvik.system.NativeStart.main(Native Method)
それが何であるかについてのアイデアはありますか?
私はそのコードでテストしました:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(cameraIntent);
そして、アプリに戻るとクラッシュします。