Я тренируюсь и пытаюсь сменить фонарик (фонарик) на задней панели моего HTC.
Но я не получаю доступ к камере, я вставил в манифест следующее:
<uses-permission android:name="android.permission.FLASHLIGHT"
android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
android:protectionLevel="normal"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera.flash" />
Это может быть очень просто и глупо, но Google и StackOverflow не дали мне решения, так что кто-нибудь может сказать мне, что я делаю неправильно?
Это мой файл активности:
import android.app.Activity;
import android.content.Intent;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.widget.*;
import android.view.View;
import android.util.Log;
import java.util.List;
public class FlashlightActivity extends Activity {
private Camera mCamera;
/** Called when the activity is first created, just a titlescreen. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageButton titlescreen = (ImageButton)findViewById(R.id.titlescreen);
titlescreen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
TurnFlashOff();
if (mCamera==null){
finish();}
else {
Intent go = new Intent(TurnMeOnFlashlightActivity.this,TMO_App.class);
startActivity(go);
}
}
});
Log.d("TurnMeOn", "startpage");
}
private void TurnFlashOff(){
if(mCamera != null){
mCamera = Camera.open();
Parameters params = mCamera.getParameters();
List<String> flashModes = params.getSupportedFlashModes();
if (flashModes.contains(Parameters.FLASH_MODE_TORCH)) {
params.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
mCamera.release();
mCamera = null;
} else {
Toast.makeText(TurnMeOnFlashlightActivity.this, R.string.FlashNoSupport, Toast.LENGTH_LONG).show();
mCamera.release();
mCamera = null;
}
} else {
Toast.makeText(TurnMeOnFlashlightActivity.this, R.string.FlashNoSupport, Toast.LENGTH_LONG).show();
}
}
}