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)来处理结果。

相关内容

热门资讯

教学盘点!决战十三水辅助,萍乡... 教学盘点!决战十三水辅助,萍乡滚筒四幅攻略,关于开挂辅助教程(有挂方法);无需打开直接搜索加(薇:1...
一分钟了解!微信新海贝之城辅助... 一分钟了解!微信新海贝之城辅助,友友联盟辅助免费下载,了解开挂辅助教程(有挂存在);无需打开直接搜索...
研究成果!微信边锋干橙眼辅助,... 研究成果!微信边锋干橙眼辅助,浙江宝宝游戏辅助,必看开挂辅助教程(发现有挂);无需打开直接搜索薇:1...
分享实测!榆林打锅子辅助器,微... 分享实测!榆林打锅子辅助器,微信微乐游戏辅助脚本,传授开挂辅助教程(真的有挂);无需打开直接搜索打开...
一分钟了解!闲来辅助神器怎么下... 一分钟了解!闲来辅助神器怎么下载,赣牌圈破解器,分享开挂辅助教程(有挂讲解);无需打开直接搜索打开薇...
玩家实测!微乐自建房脚本免费下... 玩家实测!微乐自建房脚本免费下载,三江互娱辅助,教会开挂辅助教程(有挂工具);无需打开直接搜索加(薇...
分享一款!广东潮汕雀友会插件,... 分享一款!广东潮汕雀友会插件,金杯竞技辅助,教会开挂辅助教程(有挂技巧);无需打开直接搜索加薇136...
每日必看!奇迹陕西游戏辅助,小... 每日必看!奇迹陕西游戏辅助,小闲川南手游辅助器,发现开挂辅助教程(有挂技术);无需打开直接搜索薇:1...
必备辅助推荐!朋友局辅助器,对... 必备辅助推荐!朋友局辅助器,对战互娱辅助,分析开挂辅助教程(有挂攻略);无需打开直接搜索打开薇:13...
今日科普!逍遥孝感卡五星辅助,... 今日科普!逍遥孝感卡五星辅助,微信小程序财神十三脚本,细节开挂辅助教程(有挂功能);无需打开直接搜索...