ボタンを押すとフラッシュライトをオンにするアプリを書こうとしています。問題は、アプリが私の電話でフラッシュライトを検出していないことです。私はインターネット上でたくさん検索しました。確かに他の人が問題に直面しているが、私はこれらのソリューションも適用したが、うまくいかないようだ。私はこの問題の原因を知りません。ここにコードを投稿する:フラッシュライトが検出されない
@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();あなたの最初のif()文の前にonCreate()? – CENT1PEDE
すべてのデバイスでこれをテストしましたか? –
XOLO A600またはMoto Gで@ Ilya_Gazmanのコードをテストしてください... – Niko