99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

Android電池電量監聽的示例代碼-創新互聯

監聽電池狀態只需要接收Intent.ACTION_BATTERY_CHANGED的廣播即可,當電池狀態發生變化時會發出廣播。

創新互聯-專業網站定制、快速模板網站建設、高性價比臺江網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式臺江網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋臺江地區。費用合理售后完善,十余年實體公司更值得信賴。

1.運行狀態如下圖:

1.充電中的狀態

2.未充電時的狀態

2.實現代碼如下,各個狀態通過名字就很容易知道意思,BatteryManager類中定義了電池狀態。

public class MainActivity extends Activity { 
  private static final String TAG = "MainActivity"; 
   
  private TextView mTvVoltage; 
  private TextView mTvTemperature; 
  private TextView mTvLevel; 
  private TextView mTvStatus; 
  private TextView mTvHealth; 
  private TextView mTvTechnology; 
 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
     
    mTvVoltage = (TextView)findViewById(R.id.tv_voltage); 
    mTvTemperature = (TextView)findViewById(R.id.tv_temperature); 
    mTvLevel = (TextView)findViewById(R.id.tv_level); 
    mTvStatus = (TextView)findViewById(R.id.tv_status); 
    mTvHealth = (TextView)findViewById(R.id.tv_health); 
    mTvTechnology = (TextView)findViewById(R.id.tv_technology); 
     
    this.registerReceiver(this.mBatteryReceiver, new IntentFilter(  
        Intent.ACTION_BATTERY_CHANGED)); 
  } 
 
  @Override 
  public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
  } 
 
  private BroadcastReceiver mBatteryReceiver = new BroadcastReceiver() {  
    @Override 
    public void onReceive(Context arg0, Intent arg1) {  
      int voltage=arg1.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0); 
      mTvVoltage.setText("電壓:" + voltage / 1000 + "." + voltage % 1000 + "V"); 
        
      int temperature=arg1.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0); 
      mTvTemperature.setText("溫度:" + temperature / 10 + "." + temperature % 10 + "℃"); 
      if (temperature >= 300) { 
        mTvTemperature.setTextColor(Color.RED); 
      } else { 
        mTvTemperature.setTextColor(Color.BLUE); 
      } 
       
      int level=arg1.getIntExtra(BatteryManager.EXTRA_LEVEL,0); 
      int scale=arg1.getIntExtra(BatteryManager.EXTRA_SCALE,0); 
      int levelPercent = (int)(((float)level / scale) * 100); 
      mTvLevel.setText("電量:" + levelPercent + "%"); 
      if (level <= 10) { 
        mTvLevel.setTextColor(Color.RED); 
      } else { 
        mTvLevel.setTextColor(Color.BLUE); 
      } 
        
      int status = arg1.getIntExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); 
      String strStatus = "未知狀態";; 
      switch (status) { 
      case BatteryManager.BATTERY_STATUS_CHARGING: 
        strStatus = "充電中……"; 
        break; 
      case BatteryManager.BATTERY_STATUS_DISCHARGING: 
        strStatus = "放電中……"; 
        break; 
      case BatteryManager.BATTERY_STATUS_NOT_CHARGING: 
        strStatus = "未充電"; 
        break; 
      case BatteryManager.BATTERY_STATUS_FULL: 
        strStatus = "充電完成"; 
        break; 
      } 
      mTvStatus.setText("狀態:" + strStatus); 
        
      int health = arg1.getIntExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN); 
      String strHealth = "未知 :(";; 
      switch (status) { 
      case BatteryManager.BATTERY_HEALTH_GOOD: 
        strHealth = "好 :)"; 
        break; 
      case BatteryManager.BATTERY_HEALTH_OVERHEAT: 
        strHealth = "過熱!"; 
        break; 
      case BatteryManager.BATTERY_HEALTH_DEAD: // 未充電時就會顯示此狀態,這是什么鬼? 
        strHealth = "良好"; 
        break; 
      case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE: 
        strHealth = "電壓過高!"; 
        break; 
      case BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE: 
        strHealth = "未知 :("; 
        break; 
      case BatteryManager.BATTERY_HEALTH_COLD: 
        strHealth = "過冷!"; 
        break; 
      } 
      mTvHealth.setText("健康狀況:" + strHealth); 
       
      String technology = arg1.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY); 
      mTvTechnology.setText("電池技術:" + technology); 
    } 
  }; 
}

本文標題:Android電池電量監聽的示例代碼-創新互聯
本文來源:http://www.yijiale78.com/article18/psjgp.html

成都網站建設公司_創新互聯,為您提供網站制作服務器托管做網站定制開發品牌網站制作搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設