好吧,我知道已经有人问过很多类似的问题,但到目前为止没有任何效果。我已经尝试了所有 mediaSessionCompat 方法和回调,但没有运气。我已经阅读了文档,但它非常模糊,尤其是关于新实践。我基本上想覆盖蓝牙耳机的媒体按钮并停止默认音乐播放器的播放。
编辑:因此,在深入研究文档后,我得出以下结论:
MediaPlaybackService.java
public class MediaPlaybackService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
private MediaSessionCompat.Callback mediaSessionCompatCallBack = new MediaSessionCompat.Callback()
{
@Override
public void onPlay() {
super.onPlay();
Toast.makeText(getApplication(),"Play Button is pressed!",Toast.LENGTH_SHORT).show();
}
@Override
public void onPause() {
super.onPause();
Toast.makeText(getApplication(),"Pause Button is pressed!",Toast.LENGTH_SHORT).show();
}
@Override
public void onSkipToNext() {
super.onSkipToNext();
Toast.makeText(getApplication(),"Next Button is pressed!",Toast.LENGTH_SHORT).show();
}
@Override
public void onSkipToPrevious() {
super.onSkipToPrevious();
Toast.makeText(getApplication(),"Previous Button is pressed!",Toast.LENGTH_SHORT).show();
}
@Override
public void onStop() {
super.onStop();
Toast.makeText(getApplication(),"Stop Button …
Run Code Online (Sandbox Code Playgroud) android keyevent media-player android-bluetooth android-mediasession
我正在制作一个应用程序,它以编程方式接受来电,而不是默认的呼叫应用程序。tm.acceptRingingCall()
在 Android 9 及更低版本中使用和更容易实现tm.endCall
。不幸的是,从 Android 10 开始,这些方法已被弃用。根据文档,可以使用InCallService
API 来完成。但是,如果不成为默认呼叫应用程序,是否可以做到这一点?