- // private
- private boolean checkCameraHardware(Context context) {
- return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA);
- }
-
- private static Camera getCameraInstance(){
- Camera c = null;
- try {
- Log.e(TAG, "Open Camera");
- c = Camera.open(0);
- Camera.Parameters params = c.getParameters();
- Log.e(TAG, "Camera parameters: " + params.getPreviewSize().width + "x" + params.getPreviewSize().height);
- Log.e(TAG, "Preview format (17 is NV21): " + params.getPreviewFormat() + ". Picture format(256 is JPEG): " + params.getPictureFormat());
- List<int[]> fps = params.getSupportedPreviewFpsRange();
- for(int[] i : fps){
- Log.e(TAG, "### fps range : [" + i[0] + "," + i[1] + "]\n");
- }
-
-
-
- Camera.Parameters parameters = c.getParameters();
-
- List<Camera.Size> sizes = parameters.getSupportedPictureSizes();
- for (Camera.Size cc : sizes){
- Log.e(TAG, "=== width: " + cc.width + ". height:" + cc.height);
- }
- Camera.Size cs = sizes.get(3);
- //params.setPreviewSize(cs.width, cs.height);
- params.setPictureSize(cs.width, cs.height);
- //params.setPictureFormat(ImageFormat.NV21);
- c.setParameters(params);
- }
- catch (Exception e){
- e.printStackTrace();
- }
- return c;
- }
-
- private void changeCameraPermission(){
- Log.e(TAG, "change /dev/video0 permission");
- try{
- /*Process sh = Runtime.getRuntime().exec("su", null,null);
- OutputStream os = sh.getOutputStream();
- os.write(("chmod 666 /dev/video0").getBytes("ASCII"));
- os.flush();
- os.close();
- sh.waitFor();*/
-
- Process sh = Runtime.getRuntime().exec(new String[]{"su", "-c", "system/bin/sh"});
- sh = Runtime.getRuntime().exec(new String[]{"chmod", "666", "/dev/video0"});
- sh.waitFor();
- } catch (Exception e){
- e.printStackTrace();