gpt4 book ai didi

Android 相机 Intent 在 RESULT_OK 情况下不返回

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:03:09 26 4
gpt4 key购买 nike

我正在尝试建立一个简单的 Android 应用程序,该应用程序通过 Intents 使用相机。代码几乎直接来自 Android documentation here ,但它对我不起作用。

相机应用程序在调用 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);
}

@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
}
}

我需要更改什么才能使这项工作正常进行?谢谢。

最佳答案

糟糕,当我添加 list 行时它起作用了:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>

如果您的应用依赖于外部摄像头应用,我错误地认为这些行是不必要的。但我错了!谢谢。

关于Android 相机 Intent 在 RESULT_OK 情况下不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12484340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com