นักพัฒนา: Engr Saad
อีเมล: [email protected]
เว็บไซต์: https://engr-saad.com
LinkedIn: https://www.linkedin.com/in/engr-saad/
Facebook: https://www.facebook.com/engr.saad.2/
เว็บ บริษัท : https://triangletech.com.bd/
whatsapp: +8801810536303
ฐานของโครงการนี้ถูกนำเสนอพร้อมกับกล้องในสมาร์ทโฟน Android ทั่วไป หลังจากเห็นว่า Play Store มีแอพจำนวนมากที่ขอสิทธิ์ที่ไม่จำเป็นฉันตัดสินใจที่จะสร้างแอพที่สลับ LED โดยไม่ต้องขออนุญาตใด ๆ แอพนี้ยังใช้บริการที่ตรวจพบเมื่ออุปกรณ์สั่น (ใช้เพื่อสลับไฟฉาย)
เมื่อวันที่ 3 มกราคมปี 2020 ไฟฉายจะได้รับใบอนุญาตภายใต้ Apache License Version 2.0
ซอร์สโค้ด (zip): Flashlight.zip
รหัสส่วนใหญ่เขียนด้วย Java และง่าย สำหรับการตรวจจับการเคลื่อนไหว Shake: ประกาศตัวแปรทั่วโลก:
SensorManager sensorManager = null ;
public static final float SHAKE_THRESHOLD = 10.25f ; // How hard should user shake to invoke the service
public static final int MIN_TIME_BETWEEN_SHAKES = 1000 ;
private long lastShakeTime = 0 ;
private boolean isFlashlightOn = false ;เริ่มต้น SensorManager:
sensorManager = ( SensorManager ) getSystemService ( SENSOR_SERVICE );
if ( sensorManager != null ) {
Sensor accelerometer = sensorManager . getDefaultSensor ( Sensor . TYPE_ACCELEROMETER );
sensorManager . registerListener (( SensorEventListener ) this , accelerometer , SensorManager . SENSOR_DELAY_NORMAL );
}ทำให้คลาสใช้งานอินเทอร์เฟซ SensoreVentListener และแทนที่มันเป็นวิธีการ onsensorChanged:
@ Override
public void onSensorChanged ( SensorEvent event ) {
if ( event . sensor . getType () == Sensor . TYPE_ACCELEROMETER ) {
long curTime = System . currentTimeMillis ();
if (( curTime - lastShakeTime ) > MIN_TIME_BETWEEN_SHAKES ) {
float x = event . values [ 0 ];
float y = event . values [ 1 ];
float z = event . values [ 2 ];
double acceleration = Math . sqrt ( Math . pow ( x , 2 ) +
Math . pow ( y , 2 ) +
Math . pow ( z , 2 )) - SensorManager . GRAVITY_EARTH ;
if ( acceleration > SHAKE_THRESHOLD ) {
lastShakeTime = curTime ;
if (! isFlashlightOn ) {
torchToggle ( "on" );
isFlashlightOn = true ;
}
else {
torchToggle ( "off" );
isFlashlightOn = false ;
}
}
}
}สร้างฟังก์ชั่น torchtoggle (คำสั่งสตริง):
private void torchToggle ( String command ) {
if ( Build . VERSION . SDK_INT >= Build . VERSION_CODES . M ) {
CameraManager camManager = ( CameraManager ) getSystemService ( Context . CAMERA_SERVICE );
String cameraId = null ; // Usually back camera is at 0 position.
try {
if ( camManager != null ) {
cameraId = camManager . getCameraIdList ()[ 0 ];
}
if ( camManager != null ) {
if ( command . equals ( "on" )) {
camManager . setTorchMode ( cameraId , true ); // Turn ON
isFlashlightOn = true ;
} else {
camManager . setTorchMode ( cameraId , false ); // Turn OFF
isFlashlightOn = false ;
}
}
} catch ( CameraAccessException e ) {
e . getMessage ();
}
}
}ความช่วยเหลือใด ๆ รวมถึงข้อเสนอแนะนั้นมีการใช้งานอย่างมาก ฉันเพิ่งเริ่มต้นด้วย Android และฉันค่อนข้างใหม่ในการพัฒนาแอพ
git checkout -b new-branchgit commit -am 'Make a valuable addition'git push origin new-feature