调用系统相机(兼容)

新做了一个需求  要禁用系统相机外所有拍照应用 

只能调用手机默认的系统相机  

后来发现直接 intent.setPackage("com.android.camera"); 这样会有问题

有一些手机默认拍照 包名并不是 com.android.camera

小部分手机,这样会造成应用直接暴死

于是我直接修改为以下:


         Intent intent =newIntent(MediaStore.ACTION_IMAGE_CAPTURE);//打开摄像机列表选项

           intent.putExtra("return-data", false);

                 finalIntent intent_camera = getPackageManager().getLaunchIntentForPackage("com.android.camera");

                              if(intent_camera !=null) {

                                                 String s = GetAction_image_capture();

                                                 intent.setPackage(s);

                                                     }

                    intent.putExtra(MediaStore.EXTRA_OUTPUT,

                  Uri.fromFile(newFile(AppConfig.CAMERA_TEMP))); // AppConfig.CAMERA_TEMP 这个是保存路径最后用.jpg结尾

                     startActivityForResult(intent,CAMERA);


//获取相机包名

private String GetAction_image_capture() {

          String Action_image_capture = "";

       Intent infoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

          ResolveInfo resolveInfo = getPackageManager().resolveActivity(infoIntent, 0);

                         if (resolveInfo != null) {

                                                  Log.d("PhotoActivity", "手机默认相机名称为" + resolveInfo.activityInfo.packageName);

                                                   Action_image_capture = resolveInfo.activityInfo.packageName;}

                                                       return Action_image_capture;}


      这样直接调用系统相机拍照就少很多问题了 记得拍照要申请  

         Manifest.permission.WRITE_EXTERNAL_STORAGE

           Manifest.permission.CAMERA

                       这两个权限 

```                                                                                                                                                                                                  最后 good luck

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容