우선 api level에 대해서 질문드립니다.
기기에 api level이 17 인데 제공 api클래스의 level이 21이면 기기에서 클래스를 사용못하는거 맞나요?
그 이하의 api level을 가지는 class만 이용할 수있는건가요??
RemoteControlClient가 deprecated 입니다. 안드로이드 문서보니 level 21부터 deprecated라 하는데 api 21이상 기기부터는 사용 못한다는 의미고 그 이하에서는 사용가능한거겠죠..?
RemoteControlClient는 level 14부터 사용할수 있고 제 기기는 17입니다..
아래 코드를 올립니다. 왜 lockscreen이 안뜨는걸까요 ㅠㅠ?.. 의심가는부분을 남겨주시면 정말 감사하겠습니다.
@Override
public void onCreate()
{
super.onCreate();
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.setOnCompletionListener(this);
Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
ComponentName mRemoteComponent = new ComponentName(this, MyRemoteControlEventReceiver.class.getName());
AudioManager myAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
myAudioManager.requestAudioFocus(this,
// Use the music stream.
AudioManager.STREAM_MUSIC,
// Request permanent focus.
AudioManager.AUDIOFOCUS_GAIN);
myAudioManager.registerMediaButtonEventReceiver(mRemoteComponent);
mediaButtonIntent.setComponent(mRemoteComponent);
PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, mediaButtonIntent, 0);
myRemoteControlClient = new RemoteControlClient(mediaPendingIntent);
myAudioManager.registerRemoteControlClient(myRemoteControlClient);
myRemoteControlClient.setTransportControlFlags(RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE
| RemoteControlClient.FLAG_KEY_MEDIA_STOP
| RemoteControlClient.FLAG_KEY_MEDIA_NEXT
| RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS
| RemoteControlClient.FLAG_KEY_MEDIA_PLAY
);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ACTION_STOP);
registerReceiver(broadcastReceiver, intentFilter);
}