Android 如何有目的地将图像传递给其他活动

Android 如何有目的地将图像传递给其他活动,android,android-intent,imageview,android-camera,Android,Android Intent,Imageview,Android Camera,我有一个底线。它有一个摄像头图标。当我点击图标时。它显示了一个对话框。此对话框有3个按钮。这些是相机请求、画廊请求和取消。我用相机照了一张照片,要求做我以前想做的事。然后我按下提交按钮(在emulator默认按钮中)。但这给了我一个例外。我的目的是:我想把拍摄的照片发送给其他活动。然后将其设置为“我的图像”视图。我该怎么做 这是我的提交按钮: 我的日志: 05-20 15:25:01.635 2653-2653/something.about.berkay.isim E/AndroidRun

我有一个底线。它有一个摄像头图标。当我点击图标时。它显示了一个对话框。此对话框有3个按钮。这些是相机请求、画廊请求和取消。我用相机照了一张照片,要求做我以前想做的事。然后我按下提交按钮(在emulator默认按钮中)。但这给了我一个例外。我的目的是:我想把拍摄的照片发送给其他活动。然后将其设置为“我的图像”视图。我该怎么做

这是我的提交按钮:

我的日志:

05-20 15:25:01.635 2653-2653/something.about.berkay.isim E/AndroidRuntime: FATAL EXCEPTION: main
    Process: something.about.berkay.isim, PID: 2653
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1888, result=-1, data=Intent { act=inline-data (has extras) }} to activity {something.about.berkay.isim/something.about.berkay.isim.bottom_bar}: java.lang.NullPointerException
        at android.app.ActivityThread.deliverResults(ActivityThread.java:3365)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:3408)
        at android.app.ActivityThread.access$1300(ActivityThread.java:135)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5017)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
        at something.about.berkay.isim.bottom_bar.onActivityResult(bottom_bar.java:186)
        at android.app.Activity.dispatchActivityResult(Activity.java:5423)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:3361)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:3408) 
        at android.app.ActivityThread.access$1300(ActivityThread.java:135) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:136) 
        at android.app.ActivityThread.main(ActivityThread.java:5017) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:515) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
        at dalvik.system.NativeStart.main(Native Method) 
这是我的密码:

  private static final int CAMERA_REQUEST = 1888;
   private void openCamera() {

        Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(takePicture, CAMERA_REQUEST);


        try {
           /* camera.takePicture();*/
            dialog.dismiss();
        }catch (Exception e){
            e.printStackTrace();
        }

    }

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);


       switch (requestCode){
           case GALLERY_REQUEST : if(resultCode == RESULT_OK){   //gallery için 1
               Uri selectedImage = data.getData();
            //   deneme.setImageURI(selectedImage);
           }break;
           case CAMERA_REQUEST : if (resultCode == RESULT_OK){

              Uri selectedImage = data.getData();
           Intent i = new Intent(bottom_bar.this , fotograf_cekildikten_sonra_kaydet_iptal_yeri.class);
           i.putExtra("dene " ,selectedImage);
         startActivity(i);



           }

       }
我的其他活动:

 setContentView(R.layout.fotograf_cekildikten_sonra_kaydet_iptal_yeri);

    Bundle extras = getIntent().getExtras();
    Uri uri = extras.getParcelableExtra("dene");
    ımageView = (ImageView)findViewById(R.id.telefon_arama_ImageView);

    ımageView.setImageResource(uri);

意图并非用于传递大数据。它是进程(应用程序)或IPC中的消息传递机制。如果你试图传递一个大数据 您可能会得到TransactionTooLargeException。您可以做的是将照片保存到本地文件系统,然后将照片的uri传递给 通过意图进行的其他活动。以下是如何做到这一点的官方指南:

什么例外?我编辑了我的问题。现在问题出在
fotograf_cekildikten_sonra_kaydet_iptal_yeri.onCreate
,如果我是对的,这不是您发布的代码。”然后我按了提交按钮(在emoletor默认按钮中)。但它给了我一个例外。“提交按钮代码在哪里?可能是