gcl*_*cl1 5 android android-intent android-camera
我正试图站起来通过Intents使用相机的简单Android应用程序.代码与Android文档中的代码非常相似,但它对我不起作用.
在调用startActivityForResult()之后,相机应用程序会按预期打开,但在我拍完照片后它永远不会返回(?!).具体来说,在我拍照并选择接受图标(Galaxy Nexus上的复选标记)后,它不会返回.但是在我选择取消图标(同一部手机上的"X")后它确实会返回.
这是代码(请注意,我正在使用Fragment,而不是Activity):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.my_layout, container, false);
final Button btnCamera = (Button) view.findViewById(R.id.cameraid);
View.OnClickListener handler = new View.OnClickListener() {
public void onClick(View v) {
if (v == btnCamera) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// create a file to save the image
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages");
imagesFolder.mkdirs();
File image = new File(imagesFolder, "image_001.jpg");
Uri uriSavedImage = Uri.fromFile(image);
// start the image capture Intent
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
}
}
btnCamera.setOnClickListener(handler);
}
Run Code Online (Sandbox Code Playgroud)
和
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
// Image captured and saved to fileUri specified in the Intent
Toast.makeText(getActivity(), "Image saved to:\n" +
data.getData(), Toast.LENGTH_LONG).show();
}
else if (resultCode == Activity.RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
Run Code Online (Sandbox Code Playgroud)
为了使这项工作,我需要改变什么?谢谢.
gcl*_*cl1 12
哎呀,当我添加清单行时,它有效:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
Run Code Online (Sandbox Code Playgroud)
如果您的应用依赖外部相机应用,我错误地认为这些线路不是必需的.但我错了!谢谢.
| 归档时间: |
|
| 查看次数: |
4776 次 |
| 最近记录: |