2014-03-07 264 views

回答

18

Got it!在SDK中找不到任何東西,但可以使用反射來完成。

這裏是工作代碼: -

public void getBatteryCapacity() { 
    Object mPowerProfile_ = null; 

    final String POWER_PROFILE_CLASS = "com.android.internal.os.PowerProfile"; 

    try { 
     mPowerProfile_ = Class.forName(POWER_PROFILE_CLASS) 
       .getConstructor(Context.class).newInstance(this); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    try { 
     double batteryCapacity = (Double) Class 
       .forName(POWER_PROFILE_CLASS) 
       .getMethod("getAveragePower", java.lang.String.class) 
       .invoke(mPowerProfile_, "battery.capacity"); 
     Toast.makeText(MainActivity.this, batteryCapacity + " mah", 
       Toast.LENGTH_LONG).show(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

沒有結果的TextView或吐司 不工作... –

相關問題