Java 如何将Uri映像从一个活动传输到另一个活动?

Java 如何将Uri映像从一个活动传输到另一个活动?,java,android,android-intent,bitmap,uri,Java,Android,Android Intent,Bitmap,Uri,在我的应用程序中,我需要将Uri图像从我的第一个活动传输到另一个活动。我知道如何通过intent发送位图。我是一名BigEnginer程序员,所以我不知道该做什么更好:有目的地传输Uri或将Uri更改为位图,然后发送?与putExtra一起使用发送Uri路径: Intent intent = new Intent(Intent.ACTION_VIEW); intent .setClass(ThisActivity.this, NewActivit

在我的应用程序中,我需要将Uri图像从我的第一个活动传输到另一个活动。我知道如何通过intent发送位图。我是一名BigEnginer程序员,所以我不知道该做什么更好:有目的地传输Uri或将Uri更改为位图,然后发送?

与putExtra一起使用发送Uri路径:

            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent .setClass(ThisActivity.this,  NewActivity.class);
            intent .putExtra("KEY", Uri);
            startActivity(intent );
在newActivity OnCreate方法中:

   Bundle extras = getIntent().getExtras();
    if (extras != null && extras.containsKey("KEY")) {
        Uri= extras.getString("KEY");
    }
使用这些函数: 要字符串的Uri:

Uri uri;
String stringUri;
stringUri = uri.toString();
字符串到Uri:

Uri uri;
String stringUri;
uri = Uri.parse(stringUri);

与putExtra一起使用以发送Uri路径:

            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent .setClass(ThisActivity.this,  NewActivity.class);
            intent .putExtra("KEY", Uri);
            startActivity(intent );
在newActivity OnCreate方法中:

   Bundle extras = getIntent().getExtras();
    if (extras != null && extras.containsKey("KEY")) {
        Uri= extras.getString("KEY");
    }
使用这些函数: 要字符串的Uri:

Uri uri;
String stringUri;
stringUri = uri.toString();
字符串到Uri:

Uri uri;
String stringUri;
uri = Uri.parse(stringUri);

为避免出现错误,在Miki franko给出的代码中,替换以下行:

与:

这只是为了让代码正常工作,因为我想你不明白Miki试图通过代码解释什么。
如果您现在解决了问题,请随时通知我们。

为了避免出现错误,在Miki franko给出的代码中,请替换以下行:

        //First Activity to get a Uri
        String uri_Str = Uri.toString();

        Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
        intent .putExtra("uri_Str", uri_Str);
        startActivity(intent);


       //Second Activity get a Uri path
        Bundle b = getIntent().getExtras();
        if (b != null) {
        String uri_Str= b.getString("uri_Str");
        Uri uri = Uri.parse(uri_Str);
        }
与:

这只是为了让代码正常工作,因为我想你不明白Miki试图通过代码解释什么。 如果您现在解决了问题,请随时通知我们

        //First Activity to get a Uri
        String uri_Str = Uri.toString();

        Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
        intent .putExtra("uri_Str", uri_Str);
        startActivity(intent);


       //Second Activity get a Uri path
        Bundle b = getIntent().getExtras();
        if (b != null) {
        String uri_Str= b.getString("uri_Str");
        Uri uri = Uri.parse(uri_Str);
        }
第一项活动

 Uri uri = data.getData();
        Intent intent=new Intent(Firstclass.class,secondclass.class);
        intent.putExtra("imageUri", uri.toString());
        startActivity(intent);
二等舱

Imageview iv_photo=(ImageView)findViewById(R.id.iv_photo);
Bundle extras = getIntent().getExtras();
myUri = Uri.parse(extras.getString("imageUri"));
iv_photo.setImageURI(myUri);
第一项活动

 Uri uri = data.getData();
        Intent intent=new Intent(Firstclass.class,secondclass.class);
        intent.putExtra("imageUri", uri.toString());
        startActivity(intent);
二等舱

Imageview iv_photo=(ImageView)findViewById(R.id.iv_photo);
Bundle extras = getIntent().getExtras();
myUri = Uri.parse(extras.getString("imageUri"));
iv_photo.setImageURI(myUri);

在第一个类中,可以按如下方式传递图像uri:

Intent intent = new Intent();
intent.putExtra("your_key", imageUri.toString());
startActivity(intent);
在第二个或接收器活动中,您可以通过以下方式访问图像uri:

Bundle extras = getIntent().getExtras();
if(extras != null){
  Uri imageUri = Uri.parse(extras.getString("your_key"));
}

在第一个类中,可以按如下方式传递图像uri:

Intent intent = new Intent();
intent.putExtra("your_key", imageUri.toString());
startActivity(intent);
在第二个或接收器活动中,您可以通过以下方式访问图像uri:

Bundle extras = getIntent().getExtras();
if(extras != null){
  Uri imageUri = Uri.parse(extras.getString("your_key"));
}

如果只是一个进程,只需在活动类中添加一个公共静态字段,并在执行意图之前为其分配Uri。请使用示例代码回答。如果可以的话,我很乐意接受。不要通过intent发送整个位图;将uri本身作为一个额外进程发送如果它只是一个进程,只需在活动类中添加一个公共静态字段,并在执行意图之前将uri分配给它。请使用示例代码回答。如果可以的话,我很乐意接受。不要通过intent发送整个位图;将uri本身作为外部文件发送我如何在第二个活动中访问uri?我将buttom代码放在第二个活动的uri中,但我得到一个错误,我应该将其放在字符串中。非常感谢!一般来说,代码是可以工作的,但我想要使用的转换方式却不行。我想从画廊拍一张照片,然后把它放在不同活动的相机预览上。当我转到相机预览页面时,应用程序崩溃,我真的不知道为什么。。。我附上了从图库中挑选照片的活动链接和相机隐私活动链接,如果可以,请帮助我。我如何在第二个活动中访问Uri?我将buttom代码放在第二个活动的Uri中,我得到一个错误,我应该将其放在字符串中。非常感谢!一般来说,代码是可以工作的,但我想要使用的转换方式却不行。我想从画廊拍一张照片,然后把它放在不同活动的相机预览上。当我转到相机预览页面时,应用程序崩溃,我真的不知道为什么。。。我附上了从图库中挑选照片的活动链接和相机隐私活动链接,如果可以,请帮助我。