新闻api 静态IP JAVA学习 gps generics cocoa methods replace terminal webforms ios4 java商城源码 两个正态分布相乘 bootstrap模态框传参 windows查看进程命令 linux启动mysql命令 python界面 mysqlinsert python输出 安装python教程 python环境搭建 python程序 python位运算 javascanner java语言基础教程 java安装配置 java自学编程入门教程 java基础框架 java获取当前日期 java当前日期 java的特性 linux服务器登录 俄罗斯方块c语言代码 microkms ezcad2 只狼鬼佛 飞猪ip 怎么设置迅雷为默认下载器 js倒计时 0x00000057
当前位置: 首页 > 学习教程  > 编程语言

开机播放音乐,解锁后音乐暂停

2020/9/19 16:16:03 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

安卓小程序

  • 需求
    • 步骤
      • 代码展示

需求

开机播放音乐,解锁后音乐暂停

步骤

  1. 1.监听开机广播
    • 2.开启服务(因为onReceive方法中不因执行耗时的操作,这些操作基本在服务中进行)
    • 3.在服务当中播放音频文件
    • 4.监听手机解锁的广播
    • 在该广播接收器中获取该类的服务和Mediaplayer对象。并且执行stop().

代码展示

1.开机广播接收机

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

在服务当中播放音频文件

public class MusicService extends Service {
    private static MusicService musicService;//null
    private  MediaPlayer player;//null
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        musicService = this;//将service赋值给当前的对象。
        //Service类继承于Context类,第二个参数是指文件的id
        //初始化MediaPlayer
        player = MediaPlayer.create(this,R.raw.alarm);
        player.start();//
    }
    public static MusicService getService(){
        return musicService;
    }
    public  MediaPlayer getPlayer(){
        return player;
    }
}

解锁广播接收机

public class UserPersenterReceiver extends BroadcastReceiver {
    /**
     * 暂停音乐的播放
     * @param context
     * @param intent
     */
    @Override
    public void onReceive(Context context, Intent intent) {
        //获取到服务Service的对象---对象的获取一般时使用静态方法
        MusicService service = MusicService.getService();
        //通过service对象,获取到播放音乐的MediaPlayer的对象
        MediaPlayer player = service.getPlayer();
        //停止播放音乐
        player.stop();

    }
}

注册文件部分

 <receiver
            android:name=".BootReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
        <receiver android:name=".UserPersenterReceiver">
            <intent-filter>
<!--                用户登入-->
                <action android:name="android.intent.action.USER_PRESENT"/>
            </intent-filter>
        </receiver>

本文链接: http://www.dtmao.cc/news_show_200376.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?