Проблема в мигании вспышки при входящем звонке в Android - PullRequest
0 голосов
/ 14 марта 2019

У меня есть код ниже, я хочу мигать вспышкой при звонке и выключить вспышку, когда звонок принят или завершен.но это не сработало.Когда петля заканчивается, она выключается.Я не знаю, где проблема.

Я проверил состояние звонка в цикле.этот цикл все еще выполняется, когда вызов принят.пожалуйста, помогите мне.

public class CallReceiver extends BroadcastReceiver {

Camera mCamera;
Camera.Parameters mParams;
private static final String TAG = "123";


@Override
public void onReceive(Context context, Intent intent) {
    if(intent.getStringExtra(TelephonyManager.EXTRA_STATE) != null){
        String myString = "01010101010101010101010101010101010101010101010101010101010101010101010101010101";
        long blinkDelay = 150;
        for (int i = 0; i < myString.length(); i++) {
            if(intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING))
            {
                if (myString.charAt(i) == '0') {
                    turnOn();
                } else {
                    turnOff();
                }
                try {
                    Thread.sleep(blinkDelay);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    if(intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_IDLE)){
        Toast.makeText(context,"Call ended...",Toast.LENGTH_LONG).show();

    }else if(intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){

    }
    }
}

public void turnOn() {

    mCamera = Camera.open();
    if (mCamera != null) {
        mParams = mCamera.getParameters();
        mParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
        mCamera.setParameters(mParams);
    }
}

public void turnOff() {
    if (mCamera != null) {
        mParams = mCamera.getParameters();
        if (mParams.getFlashMode().equals(Camera.Parameters.FLASH_MODE_TORCH)) {
            mParams.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
            mCamera.setParameters(mParams);
        }
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...