Android R - 通过startActivity的ACTION_IMAGE_CAPTURE显示不同的选择选项
创始人
2024-08-15 04:30:05
0

要通过startActivity的ACTION_IMAGE_CAPTURE显示不同的选择选项,可以使用Intent.createChooser()方法。以下是一个示例代码:

// 创建启动相机的Intent
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

// 检查设备是否有相机应用
if (cameraIntent.resolveActivity(getPackageManager()) != null) {
    // 创建一个包含相机Intent的Intent选择器
    Intent chooser = Intent.createChooser(cameraIntent, "选择相机应用");

    // 添加额外的相机应用Intent到选择器中
    List cameraApps = getPackageManager().queryIntentActivities(cameraIntent, 0);
    for (ResolveInfo app : cameraApps) {
        String packageName = app.activityInfo.packageName;
        Intent intent = new Intent(cameraIntent);
        intent.setComponent(new ComponentName(app.activityInfo.packageName, app.activityInfo.name));
        intent.setPackage(packageName);
        chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{intent});
    }

    // 启动选择器
    startActivityForResult(chooser, REQUEST_IMAGE_CAPTURE);
}

在这个示例中,首先创建一个启动相机的Intent对象。然后使用resolveActivity()方法检查设备是否有相机应用。如果有相机应用,就创建一个Intent选择器,并设置选择器的标题为"选择相机应用"。

接下来,使用queryIntentActivities()方法获取所有相机应用的ResolveInfo对象。然后遍历这些ResolveInfo对象,为每个相机应用创建一个新的Intent,并将其添加到选择器中。

最后,使用startActivityForResult()方法启动选择器,并传递一个请求码(REQUEST_IMAGE_CAPTURE)来处理结果。

相关内容

热门资讯

分享一款!老友广东麻将有挂吗(... 分享一款!老友广东麻将有挂吗(辅助挂)werplan脚本(一贯真的是有挂);老友广东麻将有挂吗软件透...
带你了解!陕西微乐小程序辅助(... 带你了解!陕西微乐小程序辅助(辅助挂)wepoker有插件吗(往昔是有挂)相信很多朋友都在电脑上玩过...
一分钟了解!吉祥填大坑小程序辅... 一分钟了解!吉祥填大坑小程序辅助(辅助挂)wepoker游戏下载(果然真的是有挂);1、很好的吉祥填...
终于清楚!广东闲来app辅助(... 终于清楚!广东闲来app辅助(辅助挂)wpk透视工作室(原先是真的有挂);广东闲来app辅助免费下载...
科普!手机奇迹辅助工具(辅助挂... 科普!手机奇迹辅助工具(辅助挂)wepoker开脚本视频(素来真的有挂)是一款可以让一直输的玩家,快...
我来向大家传授!川娱竞技插件(... 我来向大家传授!川娱竞技插件(辅助挂)wejoker辅助器怎么卖(切实是真的有挂);1、完成川娱竞技...
玩家交流!雀神挂件价格辅助开挂... 玩家交流!雀神挂件价格辅助开挂(辅助挂)德普之星有辅助软件吗(原生有挂);玩家交流!雀神挂件价格辅助...
揭秘真相!微乐家乡官方免费下载... 揭秘真相!微乐家乡官方免费下载安装(辅助挂)we-poker辅助(切实是真的有挂);1、不需要AI权...
玩家必备科技!四川游戏家园通用... 玩家必备科技!四川游戏家园通用辅助(辅助挂)aa poker透视软件(原来是真的有挂);是一款可以让...
发现一款!同乡游辅助软件(辅助... 发现一款!同乡游辅助软件(辅助挂)aapoker免费透视脚本(果然是有挂);1、让任何用户在无需AI...