آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال در مورد فلش گوشی (حل شد)

GR  10 سال پیش  10 سال پیش
0 0

حقیقتش شنبه دارم میرم خدمت گفتم این چنروز یه برنامه چراغ قوه بسازم الکی روزام حروم نشه

اقا سرتون رو درد نیارم

ماجرا ازین قراره که برنامه در حالت عادی خوب کار میکنه ولی وقتی ک برنامه رو باز میکنم و بدون استفاده میبندم (مثله زمانی ک یک برنامه رو اشتباهی باز کنید و سریع ببندید) دفه بعد که برنامه رو باز میکنم دیگه هیچی کار نمیکنه انگار همه چی قفل میشه و تا زمانی ک برنامه رو از توی برنامه های در حال اجرا پاک نکنم درست نمیشه!!!

میخواستم ببینم کدی هست ک وقتی با دکمه بک از برنامه میرم بیرون مثله این بشه ک برنامه از توی برنامه های در حال اجرا هم پاک بشه؟؟ که دفه بعد درست کار کنه

امیدوارم منظورهامو رسونده باشم

با onDestroy و onBackPressed هم ور رفتم ولی نشد

رفقا اگه کسی راهکاری داره ممنون میشم کمک کنه

یاحق

 

0 0
دوستان در اسرع وقت کدهارو هم میذارم. الان واسم مقدور نیست (10 سال پیش)
0 0
اساتید (10 سال پیش)
0 0
احتمالا خطایی در کدهاتون وجود داره ، خطاهای و اخطار های Logcat رو بررسی کنید . (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
GR  10 سال پیش
0 0

کد های اکتیویتی:

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.security.Policy;

public class MainActivity extends AppCompatActivity {

Button btnflash;
private Camera camera;
private boolean isFlashOn;
private boolean hasFlash;
Parameters params;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnflash = (Button) findViewById(R.id.btn_flash);
btnflash.setText("On");
getCamera();


btnflash.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hasFlash = getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
if (!hasFlash) {

AlertDialog alert = new AlertDialog.Builder(MainActivity.this).create();
alert.setTitle("Error");
alert.setMessage("Sorry, your device doesn't support flash light!");
alert.setButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alert.show();
}

if (isFlashOn) {
turnOffFlash();
btnflash.setText("ON");
} else {
turnOnFlash();
btnflash.setText("OFF");
}
}
});
}


private void getCamera() {

if (camera == null) {
try {
camera = Camera.open();
params = camera.getParameters();
} catch (Exception e) {

}
}

}

private void turnOnFlash() {

if (!isFlashOn) {
if (camera == null || params == null) {
return;
}

params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
isFlashOn = true;
}

}

private void turnOffFlash() {

if (isFlashOn) {
if (camera == null || params == null) {
return;
}

params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(params);
camera.stopPreview();
isFlashOn = false;
}
}

@Override
public void onBackPressed() {
super.onBackPressed();
finish();
turnOffFlash();

}
@Override
protected void onDestroy () {
super.onDestroy();
finish();
}

}
0 0
با گوشی فرستادم انگار خراب شده (10 سال پیش)
0 0
بابا یکی مارو راهنمایی کنه (10 سال پیش)
0 0
(10 سال پیش)
+1 0
turnOffFlash رو توی متد onDestroy هم بزارید ، فعلا بجای استفاده از if (!isFlashOn) از دو Button استفاده کنید (10 سال پیش)
پاسخ به سوال 
GR  10 سال پیش
+2 0

با کمک stack حل شدبا استفاده از متد زیر:

  public void exit() {
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
System.exit(0);
}

این متد رو توی ()onDestroy باید فراخوانی کنیم. به این شکل:

 @Override
protected void onDestroy () {
exit();
super.onDestroy();
}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .