2015-10-18 65 views
0

我写这个代码钛拍照,然后将其发送到其他活动。但每次我运行它照相机dosent开始,只有意图2摄影班开始新的活动。如果我删除了这部分相机开始:相机不启动在android代码

Intent intent2 = new Intent (welcom.this, MainActivity.class); 
    startActivity(intent2); 
    intent2.putExtra("mImageUri", imageUri); 

代码:

public class welcom extends Activity{ 
private static final int TAKE_PICTURE = 1;  
private Uri imageUri; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.welcom); 

    Button camera= (Button) findViewById(R.id.camera); 
    Button gallery= (Button) findViewById(R.id.gallery); 


    camera.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 




      takePhoto(); 




     } 
    }); 

gallery.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 
} 








public void takePhoto() { 
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
    File photo = new File(Environment.getExternalStorageDirectory(), "Pic.jpg"); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, 
      Uri.fromFile(photo)); 
    imageUri = Uri.fromFile(photo); 
    startActivityForResult(intent, TAKE_PICTURE); 

    Intent intent2 = new Intent (welcom.this, MainActivity.class); 
    startActivity(intent2); 
    intent2.putExtra("mImageUri", imageUri); 
}} 
+0

哪里是takephoto()函数的代码? –

+0

你应该滚动才能看到它 –

+0

@ oops.Sorry我的坏 –

回答

0

试试这个:

Intent intent2 = new Intent (welcom.this, MainActivity.class); 
intent2.putExtra("mImageUri", imageUri); 
startActivity(intent2); 
0

你是第一个打开新的活动,然后将图像以它。洗牌顺序和问题解决。

其他:

您必须通过将照片转换为字节数组来传递照片。看看那个questin它解决了这个问题

Take photo and pass it to another activity