بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوال مهم (کرش) (حل نشده)
سلام
به برنامه یک منو اضافه کردم موقعی که وارد منو میشم همه چی خوبه اما وقتی کلید back رو میزنم کرش میکنه
این پیغام رو میده
E/AndroidRuntime(15909): at ir.atf.vcp.flashlight.MainActivity.surfaceCreated(MainActivity.java:135)
اینم خط کدی که اشکال ازش گرفته میشه
اینم کل کد ها
public class MainActivity extends ActionBarActivity implements
SurfaceHolder.Callback {
private boolean isLighOn = false;
private Camera camera;
private ImageButton button;
SurfaceHolder mHolder;
@Override
protected void onStart() {
super.onStart();
SurfaceView preview = (SurfaceView) findViewById(R.id.surface);
mHolder = preview.getHolder();
mHolder.addCallback(this);
}
@Override
protected void onStop() {
super.onStop();
if (camera != null) {
camera.release();
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (ImageButton) findViewById(R.id.falshlight_switch);
Context context = this;
PackageManager pm = context.getPackageManager();
// if device support camera?
if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
Log.e("err", "Device has no camera!");
return;
}
camera = Camera.open();
final Parameters p = camera.getParameters();
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (isLighOn) {
// turnOffFlash();
Log.i("info", "torch is turn off!");
p.setFlashMode(Parameters.FLASH_MODE_OFF);
Toast.makeText(getApplicationContext(),
"چراغ قوه خاموش است", Toast.LENGTH_SHORT).show();
camera.setParameters(p);
camera.stopPreview();
isLighOn = false;
} else {
// turnOnFlash();
Log.i("info", "torch is turn on!");
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
Toast.makeText(getApplicationContext(),
"چراغ قوه روشن است", Toast.LENGTH_SHORT).show();
camera.setParameters(p);
camera.startPreview();
isLighOn = true;
}
}
});
}
// private void turnOnFlash() {
// Log.i("info", "torch is turn on!");
//
// p.setFlashMode(Parameters.FLASH_MODE_TORCH);
//
// camera.setParameters(p);
// camera.startPreview();
// isLighOn = true;
//
// }
//
// private void turnOffFlash() {
// Log.i("info", "torch is turn off!");
//
// p.setFlashMode(Parameters.FLASH_MODE_OFF);
// camera.setParameters(p);
// camera.stopPreview();
// isLighOn = false;
// }
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
mHolder = holder;
try {
Log.i("SurfaceHolder", "setting preview");
اشکال اینجاست camera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Log.i("SurfaceHolder", "stopping preview");
try {
camera.stopPreview();
} catch (Exception e) {
e.printStackTrace();
}
mHolder = null;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.about) {
Intent i = new Intent();
i.setClass(this, About.class);
startActivity(i);
}
int id1 = item.getItemId();
if (id1 == R.id.myapp) {
Intent i = new Intent();
i.setClass(this, Myapp.class);
startActivity(i);
}
return true;
}
}
لطفا کمک کنن اساتید
قبلا هم کرش میکرد ولی اونو تونستم رفع بکنم
اما الان نمیشه
اگه چیز بیشتری هم لازم بود بگید بزارم
تمیزشد
0
0
دوست عزیز کدتون رو تمیز و اصولی بنویسید که راهنمایی کردنتون امکان پذیر باشه! (11 سال پیش)
0
0
1 فک میکنم مربوط به کد پرمیشن باشه 2 شاید اشکل از عدم تطابق با رزلوشین دستگاه باشه . لطفا کد رو هم تمیز قرار بدید با ابزار درج سورس کد (11 سال پیش)
0
0
دوستان کل کد رو قرار دادم (11 سال پیش)
0
0
کل کد ها رو قرار دادم (11 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .