2013-06-28 27 views

回答

19

正如Get battery level only once using Android SDK 說你可以使用下面的代碼:

public float getBatteryLevel() { 
    Intent batteryIntent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); 
    int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 
    int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); 

    // Error checking that probably isn't needed but I added just in case. 
    if(level == -1 || scale == -1) { 
     return 50.0f; 
    } 

    return ((float)level/(float)scale) * 100.0f; 
} 
+0

代碼是偉大的,它完美的作品。非常感謝您的快速響應! – Sanziana

+3

不知道是否返回50.0f爲未知...不是最好返回-1,讓應用程序決定如何繼續? –

相關問題