我的代码出了什么问题?我成功拍摄了照片,但第二项活动没有开始。我想将拍摄的照片传递给第二个活动。
public class MainActivity extends Activity {
private static final int CAMERA_REQUEST = 1888;
private Button buttonka;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonka = (Button) findViewById(R.id.button);
{
buttonka.setOnClickListener(new View.OnClickListener() {
public void onClick (View v){
switch (v.getId()) {
case R.id.button:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
break;
}
}
});
}}
protected void onActivityResult(int requestCode, int resultCode, Intent data, Uri mCapturedImageURI) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
Bitmap bitmapImage = (Bitmap) getIntent().getExtras().get("data");
Intent camintent = new Intent(MainActivity.this, Main2Activity.class);
camintent.putExtra("bitmap", bitmapImage);
startActivity(camintent);
}
}
}
接收者活动:
public class Main2Activity extends AppCompatActivity {
private ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
getData();
}
private void getData() {
Bitmap bitImage = getIntent().getParcelableExtra("bitmap");
image.setImageBitmap(bitImage);
}
}
某种程度上,应用程序没有做出反应,并且没有启动第二项活动,我可能错过了什么?希望有人可以帮忙,谢谢!
答案 0 :(得分:1)
在你的onActivityResult-使用data.getExtras().get("data")
,而不是getIntent。您不希望用于启动应用程序的意图,您希望返回结果。
答案 1 :(得分:0)
我创建了解决方案,忘记在清单文件中添加摄像头并写入存储权限。如果有人遇到这样的问题,请确保您写的权限正确! :) +删除未使用的Uri mCapturedImageURI)