2014-11-03 108 views
0

我想對我的應用程序的充電狀態作出反應。電池更換接收器不工作

我註冊的接收器爲它在的onCreate()

registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); 

接收器看起來像這樣:

private BroadcastReceiver receiver = new BroadcastReceiver(){ 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     plugged= intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,0); 
     String test = Integer.valueOf(plugged).toString(); 
     Toast.makeText(getApplicationContext(), test, 
       Toast.LENGTH_LONG).show(); 
    } 
}; 

,但即使該設備在插入變量插入0的任何想法如何解決這個問題?

回答

0

您可以嘗試使用BatteryManager.EXTRA_STATUS。如果您想了解更多關於我相信的電源類型的詳細信息,可以使用BatteryManager.EXTRA_PLUGGED。

IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); 
Intent intentResult = registerReceiver(null, filter); 

int state = intentResult.getIntExtra(BatteryManager.EXTRA_STATUS, -1); 

switch (state) { 
    case BatteryManager.BATTERY_STATUS_CHARGING: 
    case BatteryManager.BATTERY_STATUS_FULL: 
     //charging 
     break; 
    default: 
     //not charging 
}