我正在嘗試寫一個應用程序,該按鈕在按下按鈕時會打開閃光燈。問題是該應用程序未檢測到手機上的閃光燈。我在互聯網上搜索了很多。當然其他人也遇到了這個問題,我也應用了這些解決方案,但他們似乎沒有工作。我不知道是什麼導致了這個問題。在這裏張貼代碼:未檢測到閃光燈
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_starting_point);
if(! getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) // checking if flash light is available inn android phone
{
Toast.makeText(StartingPoint.this, "Sorry this app can't work without flash light", Toast.LENGTH_LONG).show();
finish();
}
cam = Camera.open();
param = cam.getParameters();
}
@Override
public void onClick (View v)
{
if(!flashOn)
{
i=0;
flashOn=true;
param.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(param);
cam.startPreview();
}
else{
i=0;
flashOn=false;
param.setFlashMode(Parameters.FLASH_MODE_OFF);
cam.setParameters(param);
cam.stopPreview();
}
}
我已經加入Android清單這些權限爲好。
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
問候
你試過把這些行cam = Camera.open(); param = cam.getParameters();在onCreate()上的第一個if()語句之前? – CENT1PEDE
您是否在所有設備上都測試過了? –
請在@ XOLO A600或Moto G上測試@ Ilya_Gazman的代碼... – Niko