package com.youplayer.util; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; public class YouPhonePowerUtil { public static final int POWER_SCALE = 100; private YouPhonePowerListener phonePowerListener; private static YouPhonePowerUtil instance; private YouPhonePowerUtil() { } public static YouPhonePowerUtil getInstance() { if(null == instance){ instance = new YouPhonePowerUtil(); } return instance; } public void registerPeceiver(Context context) { if (null != context && null != mBatteryInfoReceiver) context.registerReceiver(mBatteryInfoReceiver, new IntentFilter( Intent.ACTION_BATTERY_CHANGED)); } public void unregisterPeceiver(Context context) { try{ if (null != context && null != mBatteryInfoReceiver){ context.unregisterReceiver(mBatteryInfoReceiver); mBatteryInfoReceiver = null; } } catch(Exception e){ e.printStackTrace(); } } public void setPhonePowerListener(YouPhonePowerListener phonePowerListener) { if(this != null && phonePowerListener != null) this.phonePowerListener = phonePowerListener; } private BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (Intent.ACTION_BATTERY_CHANGED.equals(action)) { int level = intent.getIntExtra("level", 0); int scale = intent.getIntExtra("scale", POWER_SCALE); if(phonePowerListener != null) phonePowerListener.powerChange(level, scale); } } }; }