如何打开默认的摄像头不显示选择器? [英] How to open default camera without showing chooser?
问题描述
如何在你的应用程序中打开默认的摄像头?
我不想打开选配它(其客户的要求)。我使用的这个意图 android.media.action.IMAGE_CAPTURE
,并呼吁活动的结果。
一切都很好,但应用程序,如 在线摄像头,纸相机的都出现在默认相机应用选择器,我不想显示选择器。
您的关注将是非常美联社preciated。
列表< ApplicationInfo>清单= packageManager.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
对于(INT N = 0; N<则为list.size(); N ++){
如果((list.get(N).flags&安培; ApplicationInfo.FLAG_SYSTEM)== 1)
{
Log.d(TAG,安装的应用程序:+ list.get(N).loadLabel(软件包管理系统)的ToString());
Log.d(TAG,包名+ list.get(N).packageName);
如果(list.get(N).loadLabel(软件包管理系统)的ToString()。equalsIgnoreCase(照相机)){
defaultCameraPackage = list.get(N).packageName;
打破;
}
}
}
我发现以下解决方案及其工作完美。
意图takePictureIntent =新意图(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.setPackage(defaultCameraPackage);
startActivityForResult(takePictureIntent,动作code);
您可以通过在上述意图设置过滤包默认的摄像头。我已经通过安装两个应用测试了它的的线摄像机的和 纸相机的这两个应用都显示通过选择器,但过滤包以上$ C $ C只能打开默认的摄像头。
How to open default camera in your application?
I don't want to open chooser for it (its client's requirement). I am using this intent android.media.action.IMAGE_CAPTURE
and calling activity for result.
Everything is fine but apps like Line Camera, Paper Camera are appearing in chooser with default camera app, i don't want to show chooser for.
Your attentions will be highly appreciated.
List<ApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
for (int n=0;n<list.size();n++) {
if((list.get(n).flags & ApplicationInfo.FLAG_SYSTEM)==1)
{
Log.d("TAG", "Installed Applications : " + list.get(n).loadLabel(packageManager).toString());
Log.d("TAG", "package name : " + list.get(n).packageName);
if(list.get(n).loadLabel(packageManager).toString().equalsIgnoreCase("Camera")) {
defaultCameraPackage = list.get(n).packageName;
break;
}
}
}
I find following solution and its working perfectly.
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.setPackage(defaultCameraPackage);
startActivityForResult(takePictureIntent, actionCode);
you can filter default camera by setting package in above intent. I've tested it by installing two application Line Camera and Paper Camera both apps were showing chooser but filtering by package above code open only default camera.
这篇关于如何打开默认的摄像头不显示选择器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!