基础小功能之(1)震动,(2)检测app是否在前台运行(3)播放短铃声

//开启震动
//添加权限<uses-permission android:name="android.permission.VIBRATE" />
private void openVib() {
              /*
     * 想设置震动大小可以通过改变pattern来设定,如果开启时间太短,震动效果可能感觉不到
     * */
    vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
    long[] pattern = {100, 1000,100,1000};   // 停止 开启 停止 开启
    vibrator.vibrate(pattern, -1);           //重复两次上面的pattern 如果只想震动一次,index设为-1
//vibrator.cancel();//取消方法
}

 



//检测程序是否在后台运行
private boolean isRunningForeground(Context context) {
    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
    String currentPackageName = cn.getPackageName();
    if (!TextUtils.isEmpty(currentPackageName) && currentPackageName.equals(getPackageName())) {
        return true;
    }

    return false;
}

 //播放短音效

    private void playSound() {
        SoundPool sp;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            sp = new SoundPool.Builder()
                    .setMaxStreams(5)
                    .build();
        } else {
            sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
        }
        final int soundId = sp.load(this, R.raw.sound, 1);
        //异步需要等待加载完成,音频才能播放成功
        sp.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
            @Override
            public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
                if (status == 0) {
                    //第一个参数soundID
                    //第二个参数leftVolume为左侧音量值(范围= 0.0到1.0)
                    //第三个参数rightVolume为右的音量值(范围= 0.0到1.0)
                    //第四个参数priority 为流的优先级,值越大优先级高,影响当同时播放数量超出了最大支持数时SoundPool对该流的处理
                    //第五个参数loop 为音频重复播放次数,0为值播放一次,-1为无限循环,其他值为播放loop+1次
                    //第六个参数 rate为播放的速率,范围0.5-2.0(0.5为一半速率,1.0为正常速率,2.0为两倍速率)
                    soundPool.play(soundId, 1, 1, 1, 0, 1);
                }
            }
        });
    }

 

posted @ 2016-12-22 16:02  童话二分之一  阅读(180)  评论(0编辑  收藏  举报