Burada, ekranın açık olup olmadığını belirlemeye çalışıyorum ama güç açma/kilit açma düğmesine basıldığında çalışma görünmüyor. Uygulama hatasız çalışır, ancak if-else'deki kodun etkisi yoktur. Düzenlenmiş şimdi kod çalışması (teşekkürler Olgun) ancak mediaplayer oynatımı durmuyor ve her zaman açık/kapalı ekranda yeni mediaplayer objct (çoklu oynatma) oluşturuluyor.Ekran açık/kapalı algılama
SCBroadcaster.java
public class SCBroadcaster extends BroadcastReceiver {
PowerManager pm;
MediaPlayer mp;
public static boolean wasScreenOn = true;
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
mp = MediaPlayer.create(arg0, R.raw.gale);
if (arg1.getAction().equals(Intent.ACTION_SCREEN_ON)) {
mp.stop();
mp.release();
Toast.makeText(arg0, "oNONONO", Toast.LENGTH_LONG).show();
} else if (arg1.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
mp.start();
}
}
}
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); filter.addAction(Intent.ACTION_SCREEN_ON); BroadcastReceiver bre = new SCBroadcaster(); registerReceiver(bre, filter); } protected void onPause() { super.onPause(); if (SCBroadcaster.wasScreenOn) { System.out.println("SCREEN TURNED OFF"); } else { } } protected void onResume() { super.onResume(); if (!SCBroadcaster.wasScreenOn) { } else { } }
MainActivity.java
}
bağlantıdaki kod gayet iyi çalışıyor, ancak durdurma ve bırakma yöntemlerini kullandıktan sonra bile mediaplayer oynatmaları durmuyor – dreamer1989