问题描述
这是我来自名为 react-native-svg@"^12.1.0" from the root project
类的主活动类的代码,其中当我按下添加条目按钮时,它将导航到下一个活动,即 npm-install
类
Account
进入第二个 Activity 后,即 AddEntry
类,当单击名为 entryPhoto 的 ImageView 时,将使用用户的相机捕获图片
//ADD ENTRY BUTTON
accountBtn.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Account.this,AddEntry.class);
startActivityForResult(intent,REQUEST_CODE_ADD);
}
});
这是我将用户输入的所有信息放入然后将其发送回主活动的代码。在 addPhoto 中我应该放置要传递的图像。我只尝试从我的 drawable 中传递图像,因为我真的不知道如何传递捕获的图像。
AddEntry
这是主activity中onActivityResult中的代码
entryPhoto.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent takePhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File tempImage = null;
try {
tempImage = createImage();
} catch (Exception e) {
e.printstacktrace();
}
if (tempImage != null){
Uri uriImage = FileProvider.getUriForFile(c,"com.example.login.fileprovider",tempImage);
mCurrentPhotoUri = uriImage;
takePhoto.putExtra(MediaStore.EXTRA_OUTPUT,uriImage);
if (ContextCompat.checkSelfPermission(c,Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(AddEntry.this,new String[]{Manifest.permission.CAMERA},REQ_CODE_CAMERA);
}
else {
startActivityForResult(takePhoto,REQ_CODE_TAKE_PHOTO);
}
}
}
});
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode,resultCode,data);
if(requestCode == REQ_CODE_TAKE_PHOTO && resultCode == RESULT_OK) {
entryPhoto.setimageURI(mCurrentPhotoUri);
}
我希望你能帮助我。我仍然是初学者,但我真的很想擅长编程。提前致谢。
解决方法
我认为您可以直接在 Uri
包中传递 Intent
,因为它扩展了 Parcelable
,这意味着它可以按原样检索
添加
data.putExtra("addPhoto",mCurrentPhotoUri);
检索
Uri photoUri = getIntent().getParcelableExtra<Uri>("addPhoto");