我使用BroadcastReceiver
类通过声音发出了一个简单的警报,我希望在用户按下电源按钮时关闭声音。
我尝试了下面的代码,但是当按下电源按钮时声音没有关闭:
public class MyBroadcastReceiver extends BroadcastReceiver {
MediaPlayer mp;
@Override
public void onReceive(Context context, Intent intent) {
mp = MediaPlayer.create(context, R.raw.sound);
KeyguardManager myKM = (KeyguardManager)
context.getSystemService(Context.KEYGUARD_SERVICE);
if (myKM.inKeyguardRestrictedInputMode()) {
//it is locked
mp.stop();
} else {
//it is not locked
mp.start();
Toast.makeText(context, "Alarm starting....", Toast.LENGTH_LONG).show();
}
}
}
我可以为上述问题找到最佳解决方案吗?