小编Adn*_*had的帖子

如何检测和覆盖蓝牙耳机上的媒体按钮按键事件?

好吧,我知道已经有人问过很多类似的问题,但到目前为止没有任何效果。我已经尝试了所有 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

5
推荐指数
0
解决办法
2226
查看次数

如何在 Android 9+ 中以编程方式接听或拒绝来电?

我正在制作一个应用程序,它以编程方式接受来电,而不是默认的呼叫应用程序。tm.acceptRingingCall()在 Android 9 及更低版本中使用和更容易实现tm.endCall。不幸的是,从 Android 10 开始,这些方法已被弃用。根据文档,可以使用InCallServiceAPI 来完成。但是,如果不成为默认呼叫应用程序,是否可以做到这一点?

android call phone-call telephonymanager

4
推荐指数
1
解决办法
3874
查看次数