Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 检测照相手机参数_Android_List_Flash_Parameters_Camera - Fatal编程技术网

Android 检测照相手机参数

Android 检测照相手机参数,android,list,flash,parameters,camera,Android,List,Flash,Parameters,Camera,我已经创造了一种可能的方法,这样我就可以用一个简单的列表来检测每个手机的参数。虽然现在当我运行它的时候 public void开启(){ 在这一行:List flashMods=params.getSupportedFlashModes(); 提前感谢!您是否启用了“摄像头”权限 是否已分配params对象-它可能为空 我是这样做的(在Mono/C中,恐怕不是Java): 然后: private void GetFlashModes(Android.Hardware.Camera.Paramet

我已经创造了一种可能的方法,这样我就可以用一个简单的列表来检测每个手机的参数。虽然现在当我运行它的时候

public void开启(){

在这一行:
List flashMods=params.getSupportedFlashModes();


提前感谢!

您是否启用了“摄像头”权限

是否已分配params对象-它可能为空

我是这样做的(在Mono/C中,恐怕不是Java):

然后:

private void GetFlashModes(Android.Hardware.Camera.Parameters parameters)
    {
        IList<String> flashModes = parameters.SupportedFlashModes;

        m_flashModes = new List<string>();

        if (flashModes == null)//not supported
            return;

        foreach (string mode in flashModes)
            m_flashModes.Add(mode);

        if (m_currentMode != null)//mode has been saved, need to set it to this mode
            SetFlashMode(m_currentMode);
        else
            m_currentMode = GetFlashMode();
    }
private void GetFlashModes(Android.Hardware.Camera.Parameters)
{
IList flashModes=parameters.SupportedFlashModes;
m_flashModes=新列表();
if(flashModes==null)//不受支持
返回;
foreach(flashModes中的字符串模式)
m_flashModes.Add(mode);
如果(m_currentMode!=null)//模式已保存,则需要将其设置为此模式
SetFlashMode(m_currentMode);
其他的
m_currentMode=GetFlashMode();
}

您可能还需要启用闪光灯权限。我相信我的清单和权限是可以的,因为如果我在不使用数组的情况下单独运行每个参数,工作正常,但我想涵盖所有可能性
private void SetUpCamera()
    {
        if (m_camera == null)
            m_camera = Android.Hardware.Camera.Open();

        var holder = m_surface.Holder;
        holder.AddCallback(this);
        holder.SetType(Android.Views.SurfaceType.PushBuffers);
        SetCameraDisplayOrientation();
        GetSurfaceSize(m_camera.GetParameters());
        GetFlashModes(m_camera.GetParameters());

    } 
private void GetFlashModes(Android.Hardware.Camera.Parameters parameters)
    {
        IList<String> flashModes = parameters.SupportedFlashModes;

        m_flashModes = new List<string>();

        if (flashModes == null)//not supported
            return;

        foreach (string mode in flashModes)
            m_flashModes.Add(mode);

        if (m_currentMode != null)//mode has been saved, need to set it to this mode
            SetFlashMode(m_currentMode);
        else
            m_currentMode = GetFlashMode();
    }