gpt4 book ai didi

Android -- Camera Intent 立即返回

转载 作者:行者123 更新时间:2023-11-29 16:03:45 24 4
gpt4 key购买 nike

我有一个 Activity 允许用户选择预览他们从图库或相机中选择的照片。我遇到的问题是相机/画廊 intent 立即返回,然后显示相机/画廊并且不返回任何内容。

事情的基本流程如下:Fragment -> Application Subclass -> Top Activity -(startActivity) -> Photo Preview Activity -(in onCreate) -> Photo Chooser Intent


//In the application subclass
public static void launchImageSelector()
{
if(!(topActivity instanceof ImagePreviewActivity))
{
Intent i = new Intent(context, ImagePreviewActivity.class);
topActivity.startActivityForResult(i, kImageSelectorRequestCode);
}
}

///in ImagePreviewActivity class
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

Intent chooser = createChooserIntent(createCameraIntent());
chooser.putExtra(Intent.EXTRA_INTENT, createOpenableIntent("image/*"));
startActivityForResult(chooser, 1);
}

//intent creaters(from android src)
private Intent createChooserIntent(Intent... intents)
{
Intent chooser = new Intent(Intent.ACTION_CHOOSER);
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intents);
chooser.putExtra(Intent.EXTRA_TITLE, "Choose Photo");
return chooser;
}

private Intent createOpenableIntent(String type)
{
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
// i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType(type);
return i;
}

private Intent createCameraIntent()
{
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File externalDataDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DCIM);
File cameraDataDir = new File(externalDataDir.getAbsolutePath() +
File.separator + "browser-photos");
cameraDataDir.mkdirs();
String mCameraFilePath = cameraDataDir.getAbsolutePath() + File.separator +
System.currentTimeMillis() + ".jpg";

photoFileUri = Uri.fromFile(new File(mCameraFilePath));

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoFileUri);

return cameraIntent;
}

我在这里做错了什么?什么会导致 Chooser Intent 立即返回但又继续?我在这里做错了什么吗?

感谢您的帮助!

最佳答案

经过几个小时的调试,问题出在 list 文件中。在 android 中,如果启动模式设置为 singleInstance 或 singleTop,则无法为结果启动 Activity

在这里找到答案:Android - startActivityForResult immediately triggering onActivityResult

关于Android -- Camera Intent 立即返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21446325/

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