通過BroadcastReceiver實現監聽電池電量
Broadcast是一種在應用程式之間進行傳輸資訊的機制。BroadcastReceiver對傳送出來的Broadcast進行過濾並響應。廣播Intent的傳送是通過Context.sentBroadcast(),Context.sentOrderedBroadcast()或者Context.sendStickyBroadcast()方法來實現。通常一個廣播Intent可以被訂閱了此Intent的多個廣播接收者所接收。
廣播接收器只有一個回撥方法,即void onReceive( Context context,Intent intent)方法,當廣播訊息抵達接收器時系統將呼叫onReceive()方法並且把包括訊息的Intent物件傳遞給他。廣播接收器只有在執行這個方法的時候才處於活躍狀態,當該方法執行完畢後,廣播接收器處於失活狀態。
package com.example.android_04_demo;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView batteryTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
batteryTextView = (TextView) findViewById(R.id.text);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub//註冊廣播監聽器
super.onResume();
registerReceiver(batteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
@Override
protected void onPause() {
// TODO Auto-generated method stub登出廣播監聽器
super.onPause();
unregisterReceiver(batteryInfoReceiver);
}
private BroadcastReceiver batteryInfoReceiver = new BroadcastReceiver() {
@Override接收廣播
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
int level = intent.getIntExtra("level", 0);
int scale = intent.getIntExtra("scale",100);
batteryTextView.setText("電量:"+String.valueOf(level*100/scale)+"%");
}
}
};
}
相關文章
- 3-AII–BroadcastReceiver實現鎖、開屏、簡訊監聽AIAST
- Batteries for Mac(電池電量管理軟體)BATMac
- RK3288 手動設定電池電量
- 通過觀察者監聽模型事件模型事件
- 電池電量管理軟體:Batteries for mac中文版BATMac
- Mac電池電量管理工具——Battery Health 3 for MacMacBAT
- Python實現微信電腦版微信支付收款監聽及支付回撥通知Python
- Lumen 實現 SQL 監聽SQL
- Magic Battery for Mac(藍芽裝置電池電量顯示工具)BATMac藍芽
- 全新到貨IBM DS4500電池/FASTT900電池/DS4400電池/FASTT700電池/FASTT500電池IBMAST
- Windows10系統怎麼檢查藍芽電池電量Windows藍芽
- java鍵盤監聽之視窗監聽的實現Java
- 【LISTENER】Oracle通過監聽連線緩慢分析Oracle
- css實現電池、水彩筆、鉛筆、蠟筆形狀CSS
- 電池監控和最佳化解決方案Wattagio
- 技巧:如何從蘋果Mac跟蹤裝置上所有電池的電量?蘋果Mac
- Batteries for Mac(電池電量管理軟體) v2.1.9免啟用版BATMac
- Android Service 服務的應用之電話監聽器以及簡訊監聽器Android
- win10 如何顯示藍芽滑鼠電池電量_win10要怎麼看藍芽滑鼠電量Win10藍芽
- 電池 並聯、串聯、充電、放電
- 通過micrometer實時監控執行緒池的各項指標執行緒指標
- 怎麼保護電腦電池,AlDente免fei版讓Mac電腦不會過度充電Mac
- Jbpm4監聽的實現
- redis過期監聽Redis
- 美國風力發電量超過水力發電量(附原資料表)
- iPhone 7電池容量是多少?蘋果7電池容量猛增?iPhone蘋果
- win10電腦電池不充電怎麼回事 win10電池連線電源不充電如何處理Win10
- lenovothinkpadt460sopensuselinux保護電池設定電池充電閥值ThinkPadLinux
- 新型iPhone電池充電只需5秒iPhone
- 1.5V電池多少伏沒電
- 聯想筆記本電池0%充不進電怎麼辦 聯想電腦電池顯示0充不進電筆記
- 關機仍會被竊聽是iPhone不能拔電池的主因?iPhone
- 不開通iptv實現觀看網路電視
- JavaFx 監聽剪下板實現(Kotlin)JavaKotlin
- Android打電話程式(根據新增按鈕監聽的3種不同方式分別實現)Android
- 通過佇列實現棧OR通過棧實現佇列佇列
- 美國企業開發新型鋰矽電池,將使手機電量增加30%以上
- 2019年-2022年全球液體電池發電量佔總發電量比例(附原資料表)