यहां मैं यह निर्धारित करने की कोशिश कर रहा हूं कि स्क्रीन चालू है या नहीं, लेकिन जब यह पावर लॉक/अनलॉक बटन दबाती है तो यह काम नहीं कर रहा है। एप्लिकेशन बिना किसी त्रुटि के काम करता है लेकिन अगर कोड में प्रभाव नहीं लगता है। अब संपादित कोड काम (धन्यवाद Olgun), लेकिन मीडियाप्लेयर प्लेबैक नहीं करता है बंद हो जाता है और हर बार/बंद स्क्रीन पर नए मीडियाप्लेयर objct (एकाधिक प्लेबैक) बनाया जाता है।स्क्रीन ऑन/ऑफ डिटेक्शन
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();
}
}
}
MainActivity.java
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 {
}
}
}
लिंक में कोड ठीक काम करता है लेकिन स्टॉप और रिलीज विधियों का उपयोग करने के बाद भी mediaplayer प्लेबैक – dreamer1989