【发布时间】:2016-11-04 21:03:13
【问题描述】:
我检查了设备是否支持闪存并且我做了一个 if 语句,然后我得到了一个错误。有谁知道这个的解决方案?就是说hasFlash 是一个未知类。
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.hardware.camera2.CameraManager;
import android.provider.Settings;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageButton;
import static android.content.DialogInterface.*;
public class Flashlight extends AppCompatActivity {
private CameraManager cm;
private ImageButton flashlightButton;
private boolean flashlightOnOrOff;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flashlight);
flashlightButton = (ImageButton) findViewById(R.id.flashOnOffButton);
flashlightOnOrOff = false;
}
//Error if device does not have flashlight
boolean hasFlash = this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
//This is where i get the error
if(hasFlash==false)
{
AlertDialog dialo = new AlertDialog.Builder(Flashlight.this).create();
dialo.setTitle("Error");
dialo.setMessage("Sorry your device does not have flashlight");
dialo.setButton(BUTTON_POSITIVE, "OK", new OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
finish();
}
});
dialo.show();
}
//What flashlight does on Stop
@Override
protected void onStop() {
super.onStop();
}
//What flashlight does on Pause
@Override
protected void onPause() {
super.onPause();
}
//What flashlight does on Resume
@Override
protected void onPostResume() {
super.onPostResume();
}
}
【问题讨论】:
-
错误是什么?
-
hasFlash == false可以简化为!hasFlash -
在同一行有多个错误:1. 意外令牌 2.未知类 `hasFlash 3. 需要识别
-
嗯。 . .看起来你在代码的其他地方犯了一个错误。您应该发布整个文件,错误可能在您问题中当前代码的 sn-p 之外。
-
发布了整个文件。
标签: java android android-package-managers flashlight