Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从相机拍摄照片在纵向模式下效果很好,但在横向模式下例外_Android_Nullpointerexception_Android Camera Intent_Landscape Portrait - Fatal编程技术网

Android 从相机拍摄照片在纵向模式下效果很好,但在横向模式下例外

Android 从相机拍摄照片在纵向模式下效果很好,但在横向模式下例外,android,nullpointerexception,android-camera-intent,landscape-portrait,Android,Nullpointerexception,Android Camera Intent,Landscape Portrait,在我的应用程序中,我从相机拍摄照片并显示在ImageView中。这在纵向模式下工作得非常好,但当我在从相机拍摄完照片后在横向模式下使用应用程序时,只要点击相机的“完成”按钮。应用程序崩溃,我得到RunTimeException。我的纵向和横向布局文件相似。我不能解决这个问题,我需要一些建议。请尽快帮助我 Logcat中的错误如下所示: 11-19 14:35:19.404: E/AndroidRuntime(17122): FATAL EXCEPTION: main 11-19 14:35:

在我的应用程序中,我从相机拍摄照片并显示在ImageView中。这在纵向模式下工作得非常好,但当我在从相机拍摄完照片后在横向模式下使用应用程序时,只要点击相机的“完成”按钮。应用程序崩溃,我得到RunTimeException。我的纵向和横向布局文件相似。我不能解决这个问题,我需要一些建议。请尽快帮助我

Logcat中的错误如下所示:

 11-19 14:35:19.404: E/AndroidRuntime(17122): FATAL EXCEPTION: main

11-19 14:35:19.404: E/AndroidRuntime(17122): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2500, result=-1, data=null} to activity {com.sample.postcare2/com.sample.postcare2.HowItWorksActivity}: java.lang.NullPointerException

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3387)
11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3437)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.access$1100(ActivityThread.java:139)
11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1291)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.os.Handler.dispatchMessage(Handler.java:99)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.os.Looper.loop(Looper.java:154)
11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.main(ActivityThread.java:4944)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at java.lang.reflect.Method.invokeNative(Native Method)
11-19 14:35:19.404: E/AndroidRuntime(17122):    at java.lang.reflect.Method.invoke(Method.java:511)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at dalvik.system.NativeStart.main(Native Method)

11-19 14:35:19.404: E/AndroidRuntime(17122): Caused by: java.lang.NullPointerException

11-19 14:35:19.404: E/AndroidRuntime(17122):    at com.sample.postcare2.HowItWorksActivity.onActivityResult(HowItWorksActivity.java:218)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.Activity.dispatchActivityResult(Activity.java:4740)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3383)
11-19 14:35:19.404: E/AndroidRuntime(17122):    ... 11 more
public class HowItWorksActivity extends Activity {

ImageButton btn_Account,btn_Photo,btn_Edit,btn_Flip,btn_Post;
RelativeLayout rl;
private static final int CAMERA_PIC_REQUEST = 2500;
private static final int SELECT_PICTURE = 1;
Bitmap bmap_image;
Uri uri_image;

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);     
    setContentView(R.layout.activity_how_it_works);
    addListenerOnButton();
          }
   private void addListenerOnButton() {
      btn_Photo = (ImageButton) findViewById(R.id.btn_Photo);
      btn_Photo.setOnClickListener(new View.OnClickListener() {
代码如下所示:

 11-19 14:35:19.404: E/AndroidRuntime(17122): FATAL EXCEPTION: main

11-19 14:35:19.404: E/AndroidRuntime(17122): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2500, result=-1, data=null} to activity {com.sample.postcare2/com.sample.postcare2.HowItWorksActivity}: java.lang.NullPointerException

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3387)
11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3437)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.access$1100(ActivityThread.java:139)
11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1291)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.os.Handler.dispatchMessage(Handler.java:99)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.os.Looper.loop(Looper.java:154)
11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.main(ActivityThread.java:4944)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at java.lang.reflect.Method.invokeNative(Native Method)
11-19 14:35:19.404: E/AndroidRuntime(17122):    at java.lang.reflect.Method.invoke(Method.java:511)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at dalvik.system.NativeStart.main(Native Method)

11-19 14:35:19.404: E/AndroidRuntime(17122): Caused by: java.lang.NullPointerException

11-19 14:35:19.404: E/AndroidRuntime(17122):    at com.sample.postcare2.HowItWorksActivity.onActivityResult(HowItWorksActivity.java:218)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.Activity.dispatchActivityResult(Activity.java:4740)

11-19 14:35:19.404: E/AndroidRuntime(17122):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3383)
11-19 14:35:19.404: E/AndroidRuntime(17122):    ... 11 more
public class HowItWorksActivity extends Activity {

ImageButton btn_Account,btn_Photo,btn_Edit,btn_Flip,btn_Post;
RelativeLayout rl;
private static final int CAMERA_PIC_REQUEST = 2500;
private static final int SELECT_PICTURE = 1;
Bitmap bmap_image;
Uri uri_image;

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);     
    setContentView(R.layout.activity_how_it_works);
    addListenerOnButton();
          }
   private void addListenerOnButton() {
      btn_Photo = (ImageButton) findViewById(R.id.btn_Photo);
      btn_Photo.setOnClickListener(new View.OnClickListener() {
//这里有两个选项:一个是拍照,另一个是从多媒体资料中选择。拍照代码如下

  private void takepicture() {
    ContentValues values = new ContentValues();
values.put(Media.TITLE,"PostCard Image");
values.put(Media.DESCRIPTION, "Image captured by camera via PostCare");
uri_image = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri_image);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}

    @SuppressWarnings("deprecation")
protected void onActivityResult(int requestCode,int resultCode,Intent data){
       if(requestCode == CAMERA_PIC_REQUEST && resultCode == RESULT_OK){
        //image = (Bitmap) data.getExtras().get("data");
        //bmap_image = image;                   
        imgview.setImageURI(uri_image);
    }
         super.onActivityResult(requestCode, resultCode, data);     
}

   @Override
protected void onSaveInstanceState(Bundle outState) {
    if(uri_image!=null)
        outState.putParcelable("post_card", uri_image);                 
    super.onSaveInstanceState(outState);
}

您应该防止自己的
活动的生命周期发生变化

android:configChanges="keyboardHidden|orientation|screenLayout|screenSize"

第218行出现错误。似乎您得到的是
uri\u image null
,请在设置ImageUri之前检查null uri\u image。我猜
imgview
onActivityResult()
中为null。感谢各位的回复,但我不明白。当我在肖像模式下拍照或从图库中选择时,它不会给出任何例外。但为什么uri_图像或imgview在横向模式下为空。我是应用程序开发领域的初学者。所以,我可能错过了一些重要的东西,但我无法找到什么。请帮我解决这个问题。@user2688158您找到解决这个问题的方法了吗?