android Audio manger

package com.example.baize.utils;

import android.app.Service;
import android.content.Context;
import android.media.AudioManager;

/**
 * Created by lxb on 2017/2/13.
 */

public class AudioManagerUtils {

    private AudioManager audioManager = null; //音频

    private static AudioManagerUtils audioManagerUtils;

    private Context context;

    private int nMaxVolume = 0;
    private int nCurVolume = 0;

    public static AudioManagerUtils getInstance(Context context){
        if(audioManagerUtils == null){
            audioManagerUtils = new AudioManagerUtils(context);

        }
        return audioManagerUtils;
    }

    public AudioManagerUtils(Context context){
        audioManager=(AudioManager)context.getSystemService(Service.AUDIO_SERVICE);
        nMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
        nCurVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
    }

    public void setVolumeUp(){
        audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,
                AudioManager.FX_FOCUS_NAVIGATION_UP);
       /* if(nCurVolume < nMaxVolume){
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, nCurVolume ++, 0);
        }else{
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, nMaxVolume, 0);
        }*/

    }

    public void setVolumeDown(){
        audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,
                AudioManager.FX_FOCUS_NAVIGATION_UP);

       /* if(nCurVolume > 0){
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, nCurVolume --, 0);
        }else{
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
        }*/

    }

}

package com.example.baize.utils;

import android.app.Activity;
import android.app.KeyguardManager;
import android.app.admin.DeviceAdminReceiver;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.PowerManager;
import android.os.SystemClock;

/**
 * Created by lxb on 2017/2/13.
 */

public class ScreenManager {

    private static ScreenManager deviceManager;

    private DevicePolicyManager policyManager;
    private ComponentName componentName;
    private static final int MY_REQUEST_CODE = 9999;

    private Activity mActivity;

    public static ScreenManager getInstance(Activity activity) {

        if (deviceManager == null) {
            deviceManager = new ScreenManager(activity);
        }
        return deviceManager;
    }

    public ScreenManager(Activity activity) {
        // 获取设备管理服务
        policyManager = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
        componentName = new ComponentName(activity, AdminReceiver.class);        // ComponentName这个我们在用intent跳转的时候用到过。
    }

    /**
     * 判断是否有锁屏权限,若有则立即锁屏并结束自己,若没有则获取权限
     */
    public void lockScreen(Activity activity) {

        if (policyManager.isAdminActive(componentName)) {
            policyManager.lockNow();                // 锁屏
        } else {
            activeManage(activity);                 //获取权限
        }
    }

    /**
     * 获取权限
     */
    private void activeManage(Activity activity) {

        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);     // 启动设备管理(隐式Intent) - AndroidManifest.xml中设定相应过滤器
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "激活后就能一键锁屏了");
        activity.startActivityForResult(intent, MY_REQUEST_CODE);
    }

    /**
     * 解锁屏幕
     *
     * @param context
     */
    public void unlockScreen(Context context) {
        KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
        KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock");
        kl.disableKeyguard();       //解锁
        PowerManager pm = (PowerManager) context.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();   //点亮屏幕
        wl.release();//释放
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值