2017年9月

变量和初始化

public MediaPlayer player;  //声音相关的类
    public Alarm alarm;
    public String title;
    public String message;


        player = new MediaPlayer();
        Intent intent = this.getIntent();
        alarm = (Alarm) intent.getSerializableExtra("remindAlarm");

屏灯亮 键盘解锁 通知提醒的声音响起

// 获取电源管理器对象
        PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
        // 获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
        PowerManager.WakeLock wl = pm.newWakeLock(
                PowerManager.ACQUIRE_CAUSES_WAKEUP
                        | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");
        // 点亮屏幕
        wl.acquire();

        // 得到键盘锁管理器对象
        KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
        // 参数是LogCat里用的Tag
        KeyguardLock kl = km.newKeyguardLock("unLock");
        // 解锁
        kl.disableKeyguard();



        // 播放铃声
        try {
            Uri alert = RingtoneManager
                    .getDefaultUri(RingtoneManager.TYPE_ALARM);

            player.setDataSource(RemindSoundActivity.this, alert);

            final AudioManager audioManager = (AudioManager) RemindSoundActivity.this
                    .getSystemService(Context.AUDIO_SERVICE);

            if (audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION) != 0) {
                player.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
                player.setLooping(false);
                player.prepare();
                player.start();
            }

            // 播放监听 完毕后什么也不做
            player.setOnCompletionListener(new OnCompletionListener() {

                @Override
                public void onCompletion(MediaPlayer mp) {
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }

弹出提示框

    // 显示dialog  决定弹出框的类型 标题和提示信息
        if (alarm.type.equals(Alarm.TYPE_CELING)) {
            title = "测量提醒";
            message = alarm.time;
        } else if (alarm.type.equals(Alarm.TYPE_YAO)) {
            title = "用药提醒";
            message = alarm.yaoName + "\n" + alarm.time;
        } else if (alarm.type.equals(Alarm.TYPE_HULI)) {
            title = "护理提醒";
            message = alarm.time;
        }
        showDialog(title, message);  //弹出提示框        
        // 重新启用自动加锁
        //kl.reenableKeyguard();

        wl.release();  //屏灯关闭


        private void showDialog(String title, String message) {
                MyDialog dialog = new MyDialog(RemindSoundActivity.this)
                        .setTitle(title).setMessage(message)
                        .setPositiveButton(R.string.ok, new View.OnClickListener() {

                            @Override
                            public void onClick(View arg0) {
                                player.stop();
                                finish();
                            }
                        })
                        .setNegativeButton(R.string.cancel, new View.OnClickListener() {

                            @Override
                            public void onClick(View arg0) {
                                player.stop();
                                finish();
                            }
                        });

                dialog.create(null);
                dialog.showMyDialog();
            }

results matching ""

    No results matching ""