【发布时间】:2014-11-04 18:39:59
【问题描述】:
我一直在用谷歌搜索,但到目前为止还没有运气。 我有一个应用程序,我在其中启动了一个 ActivityForResult 并在其中添加了一个额外的字符串。
编辑 因为我在桌子上,所以我无法发布复杂的代码,我刚拿到笔记本电脑,所以这里是代码
ActivityForResult:
@Override
protected void onCreate(Bundle saved) {
super.onCreate(saved);
setContentView(R.layout.camera);
a = new AQuery(this);
output = getIntent().getExtras().getString("output");//Here, nothing is passed!!!!!!!!
//Log.d("out",output);
/** Check if this device has a camera */
if (this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)){
text ="yes";
//now we check the cam features
if(this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT))
front ="yes";
if(this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH))
flash = "yes";
if(this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA))
back= "yes";
}else{
text = "This device does not have a camera";
//---set the data to pass back---
data.putExtra("vid",text);
setResult(RESULT_OK, data);
//---close the activity---
finish();
}
if (c != null) {
c.release();
c = null;
}
m = new MediaRecorder();
c = getCameraInstance(this);
Camera.Parameters parameters =
c.getParameters();
// Create our Preview view and set it as the content of our activity.
mPreview = new CameraPreview(this, c);
int orien =getResources().getConfiguration().orientation;
if(orien ==1){
parameters.setRotation(0); // set rotation to save the picture
c.setDisplayOrientation(90);
parameters.setPictureSize(640, 480);
PIC_ORIENTATION = "landscape";
}else{
parameters.setRotation(0); // set rotation to save the picture
c.setDisplayOrientation(0);
parameters.setPictureSize(640, 480);
PIC_ORIENTATION = "portrait";
}
if (Camera.getNumberOfCameras() < 2) {
//TODO
}
fileUri = getOutputMediaFileUri();
c.setParameters(parameters);
m.setCamera(c);
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
preview.addView(mPreview);
}
以及启动意图
cam.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent i = new Intent(Mess.this,Cam.class);
i.putExtra("output", vids);
startActivityForResult(i,2);
dialog.cancel();//TODO
}
});
没有传递任何值..它只是空... 这是activityForResult...但在刚刚的Activity中,我得到了传递的值。
【问题讨论】:
-
您试图从哪里检索数据?请发布与这两个活动相关的代码
-
什么都没有通过? Extras 捆绑包是否为空?
getString()结果是否为空? -
为了将来参考,您应该发布更完整的示例代码。特别是,您应该给出包含代码的周围类和方法。
-
startActivityForResult(i,2);2 是什么意思? -
您也可以删除相机代码,因为它与您当前的问题无关。
标签: android android-intent android-activity camera android-camera