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();
}