Android Java 휴대폰에서 동영상 재생 중 전원을 꺼도 동영상 재생이 일시 중지되지 않습니다.

조회수 261회

MainActivity.java

   @SuppressLint("WrongViewCast")
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());

        IntentFilter powerButtonOff = new IntentFilter(Intent.ACTION_SCREEN_OFF);
        IntentFilter powerButtonOn = new IntentFilter(Intent.ACTION_SCREEN_ON);

        registerReceiver(powerButtonOnOff, powerButtonOff);
        registerReceiver(powerButtonOnOff, powerButtonOn);

MainActivity.java

  private void unregisterBroadcast(){
        unregisterReceiver(powerButtonOnOff);
    }


    BroadcastReceiver powerButtonOnOff = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            if(mediaPlayer == null){
                mediaPlayer = MediaPlayer.create(context,R.id.videoView);
            }
            if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
                try {
                    if (mediaPlayer != null && mediaPlayer.isPlaying()) {
                        mediaPlayer.stop();
                        mediaPlayer.release();
                        mediaPlayer = null;
                    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
                        mediaPlayer.start();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    };

MainActivity.java

@Override
    protected void onDestroy() {
      unregisterBroadcast();

AndroidManifest.xml

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.DEVICE_POWER"
        tools:ignore="ProtectedPermissions" />

    <uses-permission android:name="android.permission.WAKE_LOCK"/>

안녕하세요. 위에 코드는 앱에서 비디오 재생중에 휴대폰 전원 끄면 재생이 일시 중지가 되어야하는데, 멈추지 않습니다. 그래서 onReceive 메소드를 코드를 적용하여 시도했지만 해결되지 않아 원인을 모르겠습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)